use*_*845 -3 python deep-learning keras tensorflow pre-trained-model
假设我们将模型保存为 h5,那么我们可以使用 keras 的 load_model 函数加载模型。我浏览了多个 github 链接,其中作者提供了权重文件(.h5 或 .hdf5 文件)。
那么我们可以使用 load_model 来使用那些预训练的权重/模型吗?
load_model 和 load_weights 之间有什么区别?
我可以使用 load_model (keras) 加载权重文件还是应该使用 (load_weight)。如果我们正在加载重量,那么我们还必须加载模型的整个架构。
请通过举一些例子来提供更深入的理解。
定义模型
model = ...
Run Code Online (Sandbox Code Playgroud)
训练模型
model.fit...
Run Code Online (Sandbox Code Playgroud)
保存模型:
model.save('model_topology.h5)
Run Code Online (Sandbox Code Playgroud)
保存权重:
model.save_weights(`weights.h5`)
Run Code Online (Sandbox Code Playgroud)
当调用load_model()时,如果你想运行推理,你必须调用loadweights来加载预训练的权重。
model = load_model('model_toplogy.h5)
model.load_weights('weights.h5)
Run Code Online (Sandbox Code Playgroud)
处理以 HDF5 格式 (.h5) 保存的模型时确实如此。
Tensorflow
提供了另一种保存模型的格式:saved_model
format。save_model 格式将模型拓扑(图)和训练参数(权重和偏差)保存在目录中。这样就可以使用一个命令加载模型。
model = tf.saved_model.load(path_to_dir)
关于h5
和HDF5
:
h5
只是以 HDF5 格式保存的文件的缩写扩展名。
归档时间: |
|
查看次数: |
3663 次 |
最近记录: |