目录
1. TF Serving概述
2. 模型准备
3. 服务器端
3.1 docker安装
3.2 拉取docker-serving镜像
3.3 启动TF Serving服务
4. 客户端
4.1 查看网络输入输出节点
4.2 客户端推理
5. 多模型部署
4.1 多个模型
4.2 多模型配置文件
4.3 启动TF Serving服务
4.4 客户端使用
1. TF Serving概述
TF Serving是一个用于机器学习模型部署的高性能开源库,可以将训练完成的模型直接上线并提供服务;
一个重要的特性是:支持热更新与模型版本自动管理,这意味着一旦部署成功,不需要再为线上服务担心,只需要关心线下的模型训练即可;
核心模块如下图所示:
Source用于管理本地的模型文件系统;
Source会对需要加载的模型创建一个Loader,Loder中会包含要加载模型的全部信息;
Source通知Manager有新的模型需要进行加载;
Manager通过版本管理策略Version Policy来确定哪些模型需要被下架,哪些模型需要被加载;
Manager在确认需要加载的模型是否符合加载策略,便通知Loader来加载最新的模型;
Client向服务器端请求模型结果,可以指定版本;

从训练到部署的整个流程如下图所示:

基本可以把工作分为三块:
Saver端:模型的离线训练与导出
Serving端:模型加载与在线预测
Client端:构建请求
2. 模型准备
这一部分主要目的是为了得到训练完成的模型文件,类型为.pb格式;
这里提供一个简单的程序,演示从数据准备、模型训练、模型保存的过程中;
其中,重点是最后一步模型保存,需要保存成pb格式,如果你这边是其他格式,需要将其转换成pb;
另外,在TensorFlow 2.0+版本中,model.save()默认的存储格式就是pb形式;
训练完成后,模型文件如下:

- 其中,clothing表示该模型用于识别衣服类型;(可自定义名称)
- 1表示clothing模型的版本号,目的是为了后续更新模型;
完成程序model_training.py如下:
# -*- coding: utf-8 -*-
# =================================================
"""
2. Model Prepare:
Train a neural network model to classify image of clothing, like sneakers and shirts.
Finally, out

最低0.47元/天 解锁文章
1511

被折叠的 条评论
为什么被折叠?



