TensorFlow.Keras 中的 EfficientNet 和 MobileNetV2 模型无法在 GPU 上重现

问题描述

在从 tensorflow.keras.applications.efficientnet 下载 EfficientNet 模型并根据我们自己的数据重新训练后,我注意到结果不可重现。结果可用于其他架构,如 VGG16resnet101InceptionV3InceptionresnetV2,但不适用于任何架构EfficientNetBx 模型。

逐层分析表明,DepthwiseConv2D 层正在产生不同的梯度。我还尝试了具有相同类型层的 MobileNetV2,但它也无法重现。我想知道是否有其他人遇到过这个问题以及他们是如何解决的。

请注意,我已经设置了以下所有种子,甚至还有张量流确定性:

random.seed(1)
np.random.seed(1)
tf.random.set_seed(1)
os.environ['TF_CUDNN_DETERMINISTIC'] = TRUE
os.environ['TF_DETERMINISTIC_OPS'] = TRUE

TensorFlow 版本:tensorflow-gpu==2.3

在 Tensorflow GitHub 上打开了这个问题: https://github.com/tensorflow/tensorflow/issues/47174

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)