在我当前的项目中,我使用 TF Hub 图像模块和估计器来解决分类问题。根据 TF Hub 指南,我在训练模式下将标签设置为“训练”,在评估/预测模式下将标签设置为无。测试损失/准确性非常糟糕,但训练损失不断减少。经过几天的调试后,我了解到以某种方式没有使用集线器的训练模型权重(似乎只有集线器外部的最后一个密集层被重用)。
为了确认问题出在哪里,我什至没有通过“训练”标签进行训练(没有其他更改) - 问题立即得到解决。
感谢所有的帮助 - 非常感谢!
#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