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
文章出处登录后可见!
已经登录?立即刷新