模型导出与部署Web与模型服务对接逻辑及模型导出
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型导出与部署Web与模型服务对接逻辑及模型导出相关的知识,希望对你有一定的参考价值。
1. Web与模型服务对接逻辑
- 目标
- 了解线上使用、部署模型的完整流程
- 掌握深度学习模型的部署架构
- 应用
- 无
完整过程为:
用到的技术:
- Tensorflow serving
- grpc+protobuf
- Flask
2. 模型导出
- 应用
tf.saved_model.simple_save
完成模型导出
2.1 keras 模型进行TensorFlow导出
Tensorflow Serving 使用的模型必须已固定格式导出
from nets.ssd_net import SSD300
from keras import backend as K
import tensorflow as tf
import os
- 使用
tf.saved_model.simple_save
工具进行导出- tf.saved_model.simple_save(
session, # 会话
export_dir, # 导出目录
inputs, # 模型的输入
outputs, # 模型的输出
)
- tf.saved_model.simple_save(
模型的结构以及运行结果
Tensor("Reshape_42:0", shape=(?, 7308, 4), dtype=float32) Tensor("truediv:0", shape=(?, 7308, 9), dtype=float32) Tensor("concat_2:0", shape=(?, 7308, 8), dtype=float32)
{'concat_3:0': <tf.Tensor 'concat_3:0' shape=(?, 7308, 21) dtype=float32>}
完整带出代码:
def save_model_for_serving(verion=1, path="./serving_model/commodity/"):
# 2、导出模型过程
# 路径+模型名字:"./model/commodity/"
export_path = os.path.join(
tf.compat.as_bytes(path),
tf.compat.as_bytes(str(verion)))
print("正在导出模型到 %s" % export_path)
# 模型获取
model = SSD300((300, 300, 3), num_classes=9)
model.load_weights("./ckpt/fine_tuning/weights.13-5.18.hdf5")
with K.get_session() as sess:
tf.saved_model.simple_save(
sess,
export_path,
inputs={'images': model.input},
outputs={t.name: t for t in model.outputs}
)
if __name__ == '__main__':
save_model_for_serving(verion=1, path="./serving_model/commodity/")
加油!
感谢!
努力!
以上是关于模型导出与部署Web与模型服务对接逻辑及模型导出的主要内容,如果未能解决你的问题,请参考以下文章
PowerDesigner概念模型与物理模型相互转换及导出数据字典