函数调用堆栈 _dummy_computation_fn,训练对象检测模型时出现此错误

Function call stack _dummy_computation_fn, I am getting this error when training my Object Detection Model

错误可能源于输入操作。 连接到节点 ResNet101V1_FPN/model/conv1_conv/Conv2D 的输入源操作: ResNet101V1_FPN/model/lambda/Pad(定义于 /local/lib/python3.7/dist-packages/object_detection/models/keras_models/resnet_v1.py:51)

函数调用堆栈: _dummy_computation_fn

当我遇到这个问题时,我正在使用Tensorflow-gpu==2.6.0。搜索并看到许多建议后。 我相信 TF 2.6.0 没有与 CuDNN 8 兼容的版本,所以我将 TF 降级到 2.4.1 !pip --upgrade tensorflow-gpu==2.4.1 并且它有效。 另一个建议是卸载TensorFlow和tensoflow-gpu,然后重启运行时,安装你想要的TensorFlow版本。

可能的解决方案:

  1. 将 Batch_size 从 64 减少到 8 或 4 或更低。
  2. 重新启动运行时并卸载所有 Tensorflow-gpu 版本。

希望我的回答对您有所帮助。

我在 colab 上使用 efficientDet_D0 训练对象检测模型时遇到了同样的问题,解决我的问题的方法只是更改为 TPU 运行时。正如@Ahmad Abubakar 提到的,您应该尝试将批量大小减小到更小的值。我发现任何小于 10 的东西对我来说都是最好的