tensorflow模型的加载及保存,以及在C++端的部署
2023-12-13 04:06:28
一、模型保存和加载
方法一、 仅保存模型权重(model.save_weights)
- 有两种保存模型权重的方法,一种是保存.h5形式。
model.save_weights("adasd.h5") # 模型权重保存
model.load_weights("adasd.h5") # 模型权重加载,需要有model
model.predict(x_test) # 模型预测
- 另一种是保存checkpoint形式。
model.save_weights('./checkpoints/mannul_checkpoint')
model.load_weights('./checkpoints/mannul_checkpoint')
model.predict(x_test)
方法二、保存整个模型(model.save)
- 有两种保存模型的方法,一种是保存pb形式。
# Export the model to a SavedModel
model.save('keras_model_tf_version', save_format='tf')
# Recreate the exact same model
new_model = tf.keras.models.load_model('keras_model_tf_version')
new_model.predict(x_test)
- 保存.h5格式。
model.save('keras_model_hdf5_version.h5')
new_model = tf.keras.models.load_model('keras_model_hdf5_version.h5')
new_model.predict(x_test)
通过方法二保存的pb模型,会有一个文件夹,里面有三个文件
这里需要注意,虽然也有一个pb文件,但是这个文件里面只有模型结构,没有模型参数,参数在“variables”里,而且在opencv中只能加载tf1.x中静态图模式的参数,因此需要将该保存的模型转换成静态图模式的pb文件
方法三、保存整个模型(tf.saved_model)
tf.saved_model.save(model
文章来源:https://blog.csdn.net/weixin_44708254/article/details/134827275
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!