我正在使用 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 。