没有合适的资源?快使用搜索试试~ 我知道了~
使用keras和tensorflow保存为可部署的pb格式
8 下载量 108 浏览量
2021-01-21
15:33:12
上传
评论
收藏 67KB PDF 举报
温馨提示
试读
3页
Keras保存为可部署的pb格式 加载已训练好的.h5格式的keras模型 传入如下定义好的export_savedmodel()方法内即可成功保存 import keras import os import tensorflow as tf from tensorflow.python.util import compat from keras import backend as K def export_savedmodel(model): ''' 传入keras model会自动保存为pb格式 ''' model_path = model/ # 模型保存的路径 mod
资源推荐
资源详情
资源评论
使用使用keras和和tensorflow保存为可部署的保存为可部署的pb格式格式
Keras保存为可部署的保存为可部署的pb格式格式
加载已训练好的.h5格式的keras模型
传入如下定义好的export_savedmodel()方法内即可成功保存
import keras
import os
import tensorflow as tf
from tensorflow.python.util import compat
from keras import backend as K
def export_savedmodel(model):
'''
传入keras model会自动保存为pb格式
'''
model_path = "model/" # 模型保存的路径
model_version = 0 # 模型保存的版本
# 从网络的输入输出创建预测的签名
model_signature = tf.saved_model.signature_def_utils.predict_signature_def(
inputs={'input': model.input}, outputs={'output': model.output})
# 使用utf-8编码将 字节或Unicode 转换为字节
export_path = os.path.join(compat.as_bytes(model_path), compat.as_bytes(str(model_version))) # 将保存路径和版本号join
builder = tf.saved_model.builder.SavedModelBuilder(export_path) # 生成"savedmodel"协议缓冲区并保存变量和模型
builder.add_meta_graph_and_variables( # 将当前元图添加到savedmodel并保存变量
sess=K.get_session(), # 返回一个 session 默认返回tf的sess,否则返回keras的sess,两者都没有将创建一个全新的sess返回
tags=[tf.saved_model.tag_constants.SERVING], # 导出模型tag为SERVING(其他可选TRAINING,EVAL,GPU,TPU)
clear_devices=True, # 清除设备信息
signature_def_map={ # 签名定义映射
tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: # 默认服务签名定义密钥
model_signature # 网络的输入输出策创建预测的签名
})
builder.save() # 将"savedmodel"协议缓冲区写入磁盘.
print("save model pb success ...")
model = keras.models.load_model('model_data/weight.h5') # 加载已训练好的.h5格式的keras模型
export_savedmodel(model) # 将模型传入保存模型的方法内,模型保存成功.
Tensorflow保存为可部署的保存为可部署的pb格式格式
1、在tensorflow绘图的情况下,使用tf.saved_model.simple_save()方法保存模型
2、传入session
3、传入保存路径
4、传入输入占位符在inputs={“input_name”: 网络输入占位符变量}
5、传入输出变量在outputs={“output_name1”: 网络输出变量, “output_name2”: 网络输出变量}
即可成功保存为可部署的pb格式
tf.saved_model.simple_save(sess,
"./model",
inputs={"myInput": x}, # input_name可自定义,编码客户端时对应即可
outputs={"myOutput": y})
保存好模型后会得到这样格式文件证明你保存没有问题了保存好模型后会得到这样格式文件证明你保存没有问题了
variables/
variables.data-*****-of-*****
variables.index
saved_model.pb
print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
资源评论
weixin_38518074
- 粉丝: 6
- 资源: 927
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【计算机毕业设计】基于Springboot的IT技术交流和分享平台【源码+lw+部署文档+讲解】
- 曼奇立德10节春季插画研修课-课程网盘链接提取码下载 .txt
- 51单片机超声波测距使用C语言
- 卡尔曼滤波四轴飞行器蓝牙应用和电路图NRF24L01蓝牙控制
- WordPress原创插件:素材编号水印插件 素材网必备
- 卡尔曼滤波四轴飞行类目标跟踪器摄像机姿态控制原理图源码文档
- 955716280576710倪师学堂 » 版本号3.0.5.apk
- 卡尔曼滤波四轴飞行单片机主控四旋翼飞行电路图PCB源码文档视频
- 卡尔曼滤波PID项目源码PID四轴飞行瑞萨多旋翼自主飞行器
- 基于MT5与Python交互通信以实现数据交换
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功