Tensorflow Serving是Google开源的一个工业级在线深度学习服务
部署Tensorflow Serving 有多种方式,基于Docker的方式是最安全也是最便捷的一种,省去Python环境的配置和不一致性麻烦。
Tensorflow Serving官方Docker仓库
环境:Ubuntu 16.4
一、Docker环境安装
sudo apt-get install docker
sudo apt-get install docker.io
注意:Docker默认只能root权限使用,为了避免每次都sudo,可以将当前用户加入到docker组内。
二、拉取Tensorflow Serving的镜像
sudo docker pull tensorflow/serving
默认是下载拉取官方的Tensorflow Serving版本
下载完成后,本地就已经安装好了tensorflow serving。
三、准备测试模型
使用Tensorflow的官方Demo模型测试
$ cd /home/username/program/#指定下载官方Demo目录
$ git clone https://github.com/tensorflow/serving
四、部署启动Serving模型
$ sudo docker run -p 8501:8501 --mount type=bind,\
source=/home/username/program/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu,\
target=/models/half_plus_two -e MODEL_NAME=half_plus_two -t tensorflow/serving &
--mount: 表示要进行挂载
-p: 指定主机到docker容器的端口映射.gRPC默认端口是8500,HTTP请求的默认端口是8501,
source: 指定要运行部署的模型地址, 也就是挂载的源。这里制定的是下载的Demo的模型存储的地址,如果是自己训练的模型,目录指定此模型所在位置
target: 挂载的目标位置,将模型加载到哪里,也就是挂载到docker容器中的哪个位置,这是docker容器中的目录。/models/是docker中默认模型位置, half_plus_two 是模型名,serving镜像中的程序会自动加载镜像内/models下的模型,通过MODEL_NAME指定/models下的哪个模型。
-t: 指定的是挂载到哪个容器
-e: 指定挂在的模型名称
五、使用模型预测
使用Http模式调用模型预测
$ curl -d '{"instances": [1.0, 2.0, 5.0]}' \
-X POST http://localhost:8501/v1/models/half_plus_two:predict
返回输出结果:
{ "predictions": [2.5, 3.0, 4.5] }
在此测试成功
参考资料:
https://blog.csdn.net/u011734144/article/details/82107610
https://www.cnblogs.com/weiyinfu/p/9928363.html
网友评论