tensorflow serving 采用Docker部署流程
程序开发
2023-09-08 15:28:58
目录
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
saved_model_cli show --dir {export_path+str(version)} --all

服务器创建同格式文件夹,并放入模型文件

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访问

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
标签:
上一篇:
AngularJS4 如何设置Cookie
下一篇:
相关文章
-
无相关信息