负载面模型



我在stackoverflow上尝试了几乎所有的答案,但没有任何效果。这是我的代码。

from keras.models import load_model
load_model('facenet_keras.h5')

它给了我这个错误

ValueError回溯(最近的调用)~AppDataLocalTempipykernel_57762622147163.py in——比;1 load_model (facenet_keras.h5)

~ Python AppData 漫游 Python39 网站 keras 跑龙套 traceback_utils.py在error_handler(*args, **kwargs)中要获得完整的堆栈跟踪,调用:69 #tf.debugging.disable_traceback_filtering()——比;70从None引发e.w with_traceback(filtered_tb)71年的最后:72 del filtered_tb

~ Python AppData 漫游 Python39 网站 keras 跑龙套 generic_utils.py在func_load(code, defaults, closure, globs)中101 except (UnicodeEncodeError, binascii.Error):102 raw_code = code.encode("raw_unicode_escape")——比;103 code = marshal.loads(raw_code)如果globs为None,则为104:105 globs = globals()

ValueError: marshal data bad (unknown type code)

为了解决上面的错误,我做了以下操作

from keras_facenet import FaceNet
embedder = FaceNet()

但是我不想使用上面的方法。我只想加载facenet模型。如果有人能帮忙,如何解决这个错误。

  1. Python版本:3.9.3
  2. tensorflow: 2.11.0
  3. keras: 2.11.0

编辑

根据v.m.的回答,这是有效的。

model = InceptionResNetV1(
input_shape=(None, None, 3),
classes=512,
)
model.load_weights('20180402-114759.h5')

如果您可以从[keras_facenet/inception_resnet_v1][1]重新创建体系结构,那么您可以:

model = InceptionResNetV1(
input_shape=(None, None, 3),
classes=512,
)
model.load_weights('model.h5')

使用

model = tf.keras.applications.ResNet50(weights='imagenet')

这对我有用。在我们的代码中,你将不能为嵌入使用'predict'属性,但是使用这个你可以。

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

#pip install keras_facenet

相关内容

  • 没有找到相关文章

最新更新