我有一个 .h5 文件,其中仅包含使用 Mask-RCNN 和 Keras 框架训练来执行对象检测的模型的权重。我想在 Python 中使用 Tensorflow + Keras 加载此模型,并在自定义图像上运行对象检测。
我正在使用 Python 3.8.5,并且尝试使用该keras.models.load_model()
函数加载此模型,但在尝试这样做时收到错误:
ValueError:在配置文件中找不到模型
据我了解,这意味着 .h5 文件仅保存模型权重,为了利用这些权重,我必须将它们加载到具有相同架构的模型中。
我使用 h5py python 模块来查看 .h5 文件内的组,试图了解其架构,但我只看到如下所示的键:(还有很多很多类似的键,但这些是对我看到的钥匙)
“activation_1”、“add_32”、“bn2a_branch1”、“res5c_out”等。
这些组有时具有数据集成员,访问这些成员时,会提供类似于以下内容的信息:
<HDF5 group "/bn4v_branch2a/bn4v_branch2a" (4 members)\> <HDF5 dataset "beta:0": shape (256,), type "<f4"\> <HDF5 dataset "gamma:0": shape (256,), type "<f4"\> <HDF5 dataset "moving_mean:0": shape (256,), type "<f4"\> <HDF5 dataset "moving_variance:0": shape (256,), type "<f4"\>
我可以假设一些东西,比如“activation_1”可能对应于激活层,但其余的层似乎与我在构建时习惯看到/使用的 Dense、LeakyReLU、BatchNormalization 层等无关一个模型。
我需要在这里做什么?如何从仅包含模型权重的 .h5 文件确定 Keras + Mask-RCNN 模型的架构?
谢谢,非常感谢任何帮助!
aluckdog
呼如林
慕神8447489
慕斯709654
相关分类