Docker使用TensorFlow Serving部署模型(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38088298/article/details/85796658

利用Docker来使用TensorFlow Serving是最简单的一种方式,我使用的Mac作为开发环境,通过bazel编译源码的时候遇到一些奇怪的错误,最终选择通过Docker来部署模型,本文从拉取仓库开始一步一步到部署一个简单的模型 Half Plus Three

1.0 Docker 安装
参照官网,下载适合版本的Docker
1.1 镜像拉取
这一步TensorFlow官网给出的是直接拉取命令docker pull tensorflow/serving,由于此命令使用国外镜像,导致多次下载超时,故使用中国区镜像加速。

docker pull registry.docker-cn.com/tensorflow/serving

其中registry.docker-cn.com为官方中国区镜像加速。
拉取成功
在这里插入图片描述
1.2 克隆仓库
这里和官网相同,创建对应的目录和文件夹并克隆仓库

mkdir -p /tmp/tfserving
cd /tmp/tfserving
git clone --depth=1 https://github.com/tensorflow/serving

1.3 运行容器
启动 REST API 并监听 8501 端口,该操作将会启动 TensorFlow Serving Model Server,并将 REST API 绑定到 8501 端口上,同时将本地的模型映射到容器上对应的位置。

docker run -p 8501:8501 -v /tmp/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_three:/models/half_plus_three -e MODEL_NAME=half_plus_three -t registry.docker-cn.com/tensorflow/serving &

这里需要注意一点,在最后指向镜像名称时要使用与自己拉取的镜像相同的名称,可以采用docker images命令来查看镜像名称。
在这里插入图片描述
如图,我的镜像名称为registry.docker-cn.com/tensorflow/serving,最后指向的镜像也应该为registry.docker-cn.com/tensorflow/serving

1.4 预测

用以下命令得到预测api结果

curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_three:predict

返回如下结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_38088298/article/details/85796658