我使用 mobilenet 模型来训练我的数据集并使用model.save('mobilenet2.h5'). 现在我正在尝试使用 Google Colab 加载此模型,model_new = tf.keras.models.load_model('/content/drive/MyDrive/mobilenet2.h5') 但它显示错误ValueError: Unknown layer: KerasLayer。我在线检查并尝试使用加载模型,model_new = tf.keras.models.load_model(('/content/drive/MyDrive/mobilenet2.h5'), custom_objects={'KerasLayer':hub.KerasLayer})但随后它显示错误ValueError: You are trying to load a weight file containing 2 layers into a model with 1 layers.。我尝试在本地机器上加载模型,但它再次显示第一个错误。它是如何发生的,我应该怎么做才能解决它?
使用加载模型
model = tf.keras.models.load_model('/content/drive/MyDrive/mobilenet2.h5')
追溯
ValueError Traceback (most recent call last)
<ipython-input-10-046714005579> in <module>()
1 import tensorflow_hub as hub
----> 2 model = tf.keras.models.load_model('/content/drive/MyDrive/mobilenet2.h5')
8 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/utils/generic_utils.py in class_and_config_for_serialized_keras_object(config, module_objects, custom_objects, printable_module_name)
294 cls = get_registered_object(class_name, custom_objects, module_objects)
295 if cls is None:
--> 296 raise ValueError('Unknown ' + printable_module_name + ': ' + class_name)
297
298 cls_config = config['config']
ValueError: Unknown layer: KerasLayer
使用加载模型
model = tf.keras.models.load_model(('/content/drive/MyDrive/mobilenet2.h5'), custom_objects={'KerasLayer':hub.KerasLayer})
追溯
ValueError Traceback (most recent call last)
<ipython-input-11-7d3998cd0bd9> in <module>()
1 import tensorflow_hub as hub
----> 2 model = tf.keras.models.load_model(('/content/drive/MyDrive/mobilenet2.h5'), custom_objects={'KerasLayer':hub.KerasLayer})
2 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/saving/hdf5_format.py in load_weights_from_hdf5_group(f, layers)
686 'containing ' + str(len(layer_names)) +
687 ' layers into a model with ' + str(len(filtered_layers)) +
--> 688 ' layers.')
689
690 # We batch weight value assignments in a single backend call
ValueError: You are trying to load a weight file containing 2 layers into a model with 1 layers.
模型摘要
Layer (type) Output Shape Param #
=================================================================
keras_layer_2 (KerasLayer) (None, 1280) 2257984
_________________________________________________________________
dropout_2 (Dropout) (None, 1280) 0
_________________________________________________________________
dense_2 (Dense) (None, 374) 479094
=================================================================
Total params: 2,737,078
Trainable params: 479,094
Non-trainable params: 2,257,984