5

我将 tensorflow-2 gpu 与 tf.data.Dataset 一起使用。对小型模型的训练有效。

当训练一个更大的模型时,一开始一切正常:使用 gpu,第一个 epoch 工作没有问题(但我正在使用我的大部分 gpu 内存)。

在验证时,我遇到了一个 CUDA_ERROR_OUT_OF_MEMORY,它有各种分配,无法分配的字节数越来越少(范围从 922Mb 到 337Mb)。我目前没有指标,也没有回调,并且正在使用tf.keras.Model.fit. 如果我删除验证数据,训练将继续。

我的问题是什么?我该如何调试呢?

在 tf1 中,我可以使用RunOptions(report_tensor_allocations_upon_oom=True)tf2 中是否存在任何等价物?

这发生在 tensorflow==2.1.0 中。

4

1 回答 1

0

这些并没有出现在 2.0 alpha TensorFlow 中,而是出现在 2.0 中。

pip 安装 tensorflow-gpu==2.0.0: 已泄露内存!
pip install tensorflow-gpu==2.0.0-alpha:没关系!

试试看

于 2020-03-30T15:57:51.560 回答