模型框架: Keras 使用TensorFlow Serving部署
1.docker安装
ubuntu 18.04 安装docker 方式通过官方仓库安装
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
加入官方仓库
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
用apt安装
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
验证docker是否安装成功
sudo docker run hello-world
2.安装TensorFlow Serving并验证
1.拉取 tf serving: sudo docker pull tensorflow/serving 2.下载官方例子进行验证 先打开目录cd /home/q/test_dir/ ,再git clone https://github.com/tensorflow/serving 启动服务在这里插入代码片
sudo docker run -t --rm -p 8501:8501 -v
"/home/q/test_dir/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu:
/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving &
第二行为例子saved_model_half_plus_two_cpu 的路径
验证官方例子:curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POT http://localhost:8501/v1/models/half_plus_two:predict 结果图:
3.标题部署自己的模型
参考添加链接描述 先将Keras的.hdf5转化为pb文件
import tensorflow as tf
from keras.models import load_model
model_test = load_model("../CEMM/model/model/04.hdf5")
# export_path 后面一定要加一个版本号的目录,不然会报错 No versions of servable test found under base path
export_path = '../models_dir/000001/'
tf.keras.models.save_model(
model_test,
export_path,
overwrite=True,
include_optimizer=True,
save_format=None,
signatures=None,
options=None
)
运行自己代码 报错了 应该是需要安装 tensorflow serving gpu版本 3.1移除tensorflow/serving镜像 移除镜像时,需要先删除镜像 先查看所有容器sudo docker ps -a 再根据CONTAINER ID移除所有与镜像相关的容器sudo docker rm e291148abc3d ,最后再移除容器
将自己模型版本部署时会有不兼容问题(应该是GPU版本和拉取的tensorFlow Serving不对) 考虑在windows上安装docker重新部署 3.2安装GPU版本
sudo docker pull tensorflow/serving:2.2.0-gpu
安装之后就可以了(还未验证模型是否可用,但部署没出错误)
参考: 1.tf-seveing部署Keras模型 参考添加链接描述 ubantu安装docker ubuntu安装 docker 和 tensorflow/serving 启动服务 添TensorFlow Serving:深度学习模型在生产环境的部署&上线
Ubuntu18.04安装docker方式
使用 Docker部署 Tensorflow Serving 模型服务
|