0

当我尝试使用 tensorflow 重新训练模型时,它显示错误:

**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 全连接层来重新训练以前的集线器模型。运行代码时,它显示上述错误。是否有任何想法。请帮助

4

1 回答 1

0

请检查张量流版本。它应该是最近的夜间版本。

当我使用像 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

https://github.com/tensorflow/tfjs/issues/1255

于 2019-04-23T14:33:21.340 回答