【Tensorflow】Tensorflow serving模型部署(三):制作包含已训练好的object detection模型的docker镜像

在前两篇博客里已经介绍了如何配置用tensorflow serving部署深度学习模型的环境和导出tensorflow serving可用的savedmodel模型文件。

1. 【Tensorflow】Tensorflow serving模型部署(一):运行官方demo

2. 【Tensorflow】Tensorflow serving模型部署(二):导出savedmodel模型

这一篇介绍如何制作包含训练好的模型的docker镜像。

一、拉取一个基础镜像

我选择的tensorflow serving 1.12.0 gpu版本的镜像。

docker pull tensorflow/serving:1.12.0-gpu

二、运行一个基础镜像的容器

docker run -d --name tfserving_gpu tensorflow/serving:1.12.0-gpu

-d:以后台守护进程的方式运行容器。

--name:将这个容器命名为tfserving_name。

这个时候会输出一串sha256码。

三、拷贝本机模型文件到容器中

docker cp /home/data/ssd_mobilenetv1_coco tfserving_gpu:/models/ssd_mobilenetv1_coco

这就是将本机的ssd_mobilenetv1_coco模型文件夹拷贝到容器tfserving_gpu的models文件夹下。

四、提交容器修改

docker commit --change "ENV MODEL_NAME ssd_mobilenetv1_coco" tfserving_gpu mydockhub_name/ssd_mobilenetv1_coco:v1

这里将MODEL_NAME后面的字符串替换成自己的描述。

mydockhub_name:替换成自己在dockerhub上的用户名。如果不需要提交到dockerhub上可不加用户名。

v1:这里我给这个镜像标记为版本v1,也可不加。

查看一下镜像是否生成了。

docker images

镜像已经存在了。

五、提交镜像到dockerhub

docker login

输入账号和密码登录。

docker push docker hub用户名/镜像名:版本tag

push完成之后,在docker hub官网上你的账户下面就有了这个镜像。

六、停止并删除基础容器

docker kill tfserving_gpu
docker rm tfserving_gpu

七、测试

运行一个包含前面生成的镜像的容器。

docker run --runtime=nvidia --rm -p 8501:8501 -t ssd_mobilenet_coco_tfserving &

查看serving状态。

curl http://localhost:8501/v1/models/ssd_mobilenetv1_coco

发布了437 篇原创文章 · 获赞 590 · 访问量 61万+

猜你喜欢

转载自blog.csdn.net/heiheiya/article/details/103861482
今日推荐