Docker使用TensorFlow Serving部署模型(一)
利用Docker来使用TensorFlow Serving是最简单的一种方式,我使用的Mac作为开发环境,通过bazel编译源码的时候遇到一些奇怪的错误,最终选择通过Docker来部署模型,本文从拉取仓库开始一步一步到部署一个简单的模型 Half Plus Three。1.0 Docker 安装参照官网,下载适合版本的Docker1.1 镜像拉取这一步TensorFlow官网给出的是直接拉...
利用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
返回如下结果
更多推荐
所有评论(0)