美文网首页
使用Docker部署 Tensorflow Serving 服务

使用Docker部署 Tensorflow Serving 服务

作者: generalz | 来源:发表于2020-03-09 11:37 被阅读0次

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

相关文章

网友评论

      本文标题:使用Docker部署 Tensorflow Serving 服务

      本文链接:https://www.haomeiwen.com/subject/ujoddqtx.html