我无法加载模型 FaceNet 它说 值错误:错误的封送数据(未知类型代码)



我只想在这个链接中使用FaceNet模型https://machinelearningmastery.com/how-to-develop-a-face-recognition-system-using-facenet-in-keras-and-an-svm-classifier/

首先,步骤我做不到。它无法加载模型

代码

# example of loading the keras facenet model
from keras.models import load_model
# load the model
model = load_model('facenet_keras.h5')
# summarize input and output shape
print(model.inputs)
print(model.outputs)

错误:


2021-05-31 12:28:26.125652: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
Traceback (most recent call last):
File "c:workฝึกงานfaceNet.py", line 4, in <module>
model = load_model('facenet_keras.h5')
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerassavingsave.py", line 201, in load_model
return hdf5_format.load_model_from_hdf5(filepath, custom_objects,
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerassavinghdf5_format.py", line 180, in load_model_from_hdf5
model = model_config_lib.model_from_config(model_config,
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerassavingmodel_config.py", line 59, in model_from_config
return deserialize(config, custom_objects=custom_objects)
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskeraslayersserialization.py", line 159, in deserialize
return generic_utils.deserialize_keras_object(
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerasutilsgeneric_utils.py", line 668, in deserialize_keras_object
deserialized_obj = cls.from_config(
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerasenginetraining.py", line 2332, in from_config
functional.reconstruct_from_config(config, custom_objects))
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerasenginefunctional.py", line 1274, in reconstruct_from_config
process_layer(layer_data)
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerasenginefunctional.py", line 1256, in process_layer
layer = deserialize_layer(layer_data, custom_objects=custom_objects)
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskeraslayersserialization.py", line 159, in deserialize
return generic_utils.deserialize_keras_object(
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerasutilsgeneric_utils.py", line 668, in deserialize_keras_object
deserialized_obj = cls.from_config(
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskeraslayerscore.py", line 1001, in from_config
function = cls._parse_function_from_config(
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskeraslayerscore.py", line 1053, in _parse_function_from_config
function = generic_utils.func_load(
File "C:UsersgodjaAppDataRoamingPythonPython39site-packageskerasutilsgeneric_utils.py", line 783, in func_load
code = marshal.loads(raw_code)
ValueError: bad marshal data (unknown type code)
model = tf.keras.applications.ResNet50(weights='imagenet')

这对我有用。

在实现之前,您只需要在终端中使用以下代码安装一个依赖项:

#pip install keras_facenet