站点图标 AI技术聚合

tensorflow serving 采用Docker部署流程

tensorflow serving 采用Docker部署流程

1.模型准备

模型准备

import tensorflow as tf
from tensorflow.keras import models,layers,optimizers
 
## 样本数量
n = 800
 
## 生成测试用数据集
X = tf.random.uniform([n,2],minval=-10,maxval=10) 
w0 = tf.constant([[2.0],[-1.0]])
b0 = tf.constant(3.0)
 
Y = X@w0 + b0 + tf.random.normal([n,1],
    mean = 0.0,stddev= 2.0) # @表示矩阵乘法,增加正态扰动
 
## 建立模型
tf.keras.backend.clear_session()
inputs = layers.Input(shape = (2,),name ="inputs") #设置输入名字为inputs
outputs = layers.Dense(1, name = "outputs")(inputs) #设置输出名字为outputs
linear = models.Model(inputs = inputs,outputs = outputs)
linear.summary()
 
## 使用fit方法进行训练
linear.compile(optimizer="rmsprop",loss="mse",metrics=["mae"])
linear.fit(X,Y,batch_size = 8,epochs = 100)  
 
tf.print("w = ",linear.layers[1].kernel)
tf.print("b = ",linear.layers[1].bias)
 
## 将模型保存成pb格式文件
export_path = "./data/linear_model/"
version = "1"       #后续可以通过版本号进行模型版本迭代与管理
linear.save(export_path+version, save_format="tf")

查看模型

ls ./data/linear_model/1
![在这里插入图片描述](https://img-blog.csdnimg.cn/d3617a690f614c478bc1633dcd6634e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述](https://img-blog.csdnimg.cn/8405e5a90b364fcbb70aa6170e33d4d4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述](https://img-blog.csdnimg.cn/564c4ca46fcd445f887ef1c5b5aa100a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)


saved_model_cli show --dir {export_path+str(version)} --all
![在这里插入图片描述](https://img-blog.csdnimg.cn/ea37b3c39ce0441698d7f8b846a34c1f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)

服务器创建一个相同格式的文件夹,并将模型文件放入其中

![在这里插入图片描述](https://img-blog.csdnimg.cn/563a0532bded4152a326ae10bf6f6c63.png)

2.部署

拉图像

默认下载:latest版本
docker pull tensorflow/serving
docker pull tensorflow/serving:latest-devel
docker image ls 可以查看拉取好的镜像

###启动服务
docker run -t –rm -p 8501:8501 -v $(pwd)/linear_model:/models/linear_model -e MODEL_NAME=linear_model tensorflow/serving &
docker ps 查看

成功启动

3.测试

Postman访问

![在这里插入图片描述](https://img-blog.csdnimg.cn/61840ce9ae694c8cba2375172cc9dd75.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)

Linux curl 访问

curl -d ‘{“inputs”: [[0.0, 2.0]]}’ -X POST http://localhost:8501/v1/models/linear_model:predict

4.维护

后续更新

引用:https://www.cnblogs.com/xiximayou/p/12690757.html/https://blog.csdn.net/chenguangchun1993/article/details/104971811/https://zhuanlan.zhihu.com/p/64413178

文章出处登录后可见!

已经登录?立即刷新
退出移动版