当我尝试使用张量流重新训练模型时,它显示了一个错误:
**error module 'tensorflow_hub' has no attribute 'KerasLayer'**
代码是:
print("Building model with", MODULE_HANDLE)
model = tf.keras.Sequential([
hub.KerasLayer(MODULE_HANDLE, output_shape=[FV_SIZE],
trainable=do_fine_tuning),
tf.keras.layers.Dropout(rate=0.2),
tf.keras.layers.Dense(train_generator.num_classes,
activation='softmax',
kernel_regularizer=tf.keras.regularizers.l2(0.0001))
])
model.build((None,)+IMAGE_SIZE+(3,))
model.summary()
错误类似:
1 print("Building model with", MODULE_HANDLE)
2 model = tf.keras.Sequential([
----> 3 hub.KerasLayer(MODULE_HANDLE, output_shape=[FV_SIZE],
4 trainable=do_fine_tuning),
5 tf.keras.layers.Dropout(rate=0.2),
AttributeError: module 'tensorflow_hub' has no attribute 'KerasLayer'
使用tensorflow集线器通过添加新的dence完全连接的层来重新训练以前的集线器模型。运行代码时,它会显示以上错误。对此有任何想法。请帮助
答案 0 :(得分:0)
请检查tensorflow版本。应该是最近的每晚版本。
当我使用1.13.1之类的版本时,在错误之前我看到以下警告,没有属性'KerasLayer':
W0423 20:04:16.453974 139707130586880 __init__.py:56] Some hub symbols are not available because TensorFlow version is less than 1.14
完成pip install "tf-nightly"
之后,一切正常。
https://www.tensorflow.org/hub
对于BatchNormalizationv1问题,您可以每晚使用tf2.0,这也应该解决原始问题。
pip install -U tf-nightly-2.0-preview