Tensorflow轮毂+;估计器潜在缺陷:训练权重未用于评估/预测
在我当前的项目中,我正在使用TF Hub图像模块以及一个分类问题的估计器。根据TF Hub指南,我在训练模式下将标签设置为“训练”,在评估/预测模式下将标签设置为“无”。测试损失/准确度很差,但培训损失一直在减少。经过几天的调试,我了解到不知何故,hub经过训练的模型权重没有被使用(似乎只有hub外的最后一个密集层被重用) 为了确认问题所在,我甚至没有通过“培训”标签(没有其他更改),问题立即得到解决 感谢所有的帮助-非常感谢Tensorflow轮毂+;估计器潜在缺陷:训练权重未用于评估/预测,tensorflow,tensorflow-estimator,tensorflow-hub,Tensorflow,Tensorflow Estimator,Tensorflow Hub,在我当前的项目中,我正在使用TF Hub图像模块以及一个分类问题的估计器。根据TF Hub指南,我在训练模式下将标签设置为“训练”,在评估/预测模式下将标签设置为“无”。测试损失/准确度很差,但培训损失一直在减少。经过几天的调试,我了解到不知何故,hub经过训练的模型权重没有被使用(似乎只有hub外的最后一个密集层被重用) 为了确认问题所在,我甚至没有通过“培训”标签(没有其他更改),问题立即得到解决 感谢所有的帮助-非常感谢 #inside model_fn tags_val = None
#inside model_fn
tags_val = None
if is_training:
tags_val = {"train"}
is_training = (mode == tf.estimator.ModeKeys.TRAIN)
tf_hub_model_spec = "https://tfhub.dev/google/imagenet/inception_v3/feature_vector/1"
img_module = hub.Module(tf_hub_model_spec, trainable=is_training, tags=tags_val)
#Add final dense layer, etc
对于
https://tfhub.dev/google/imagenet/inception_v3/feature_vector/1
,默认标记(表示空集)和标记={“train”}
之间的区别在于后者在训练模式下操作批处理规范(即使用批处理统计进行规范化)。如果这导致灾难性的质量损失,我的第一个怀疑是:更新操作是否与列车操作一起运行
在其他问题方面讨论了这一点,并使用代码指针。很抱歉,我花了一点时间进行测试。我在你提到的github线程中尝试了这些解决方案——使用tf.contrib.training.create\u train\u op并不能解决我的问题。还有什么我可以试试的吗?