从tensorflow.keras.applications.efficientnet下载EfficientNet模型并根据我们自己的数据重新训练后,我注意到结果不可重现。结果对于VGG16、ResNet101、InceptionV3和InceptionResNetV2等其他架构是可重现的,但对于任何EfficientNetBx模型都不能重现。
逐层分析表明,该DepthwiseConv2D
层正在产生不同的梯度。我还尝试了具有相同类型层的MobileNetV2,它也无法重现。我想知道是否有其他人遇到过这个问题以及他们是如何解决的。
请注意,我已经设置了以下所有种子,甚至还有 tensorflow-determinism:
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