欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

TensorFlow模型部署成Docker提供REST接口服务

TensorFlow训练好的PB格式的模型文件可以部署成Docker,提供HTTP接口访问,目前是主流的使用模式的做法。

步骤如下

1.准备模型

该模型为训练好的PB格式模型文件,这里使用github开源的一个模型进行部署。

git clone https://github.com/tensorflow/serving

客户下的文件,在serving\tensorflow_serving\servables\tensorflow\testdata下有个saved_model_half_plus_two_cpu文件夹,里面就是训练好的模型。

这个模型是将预测数据除以2再加上2,例如:预测数据为3,那预测结果为3/2+2=3.5

2.拉去基础镜像

这里需要安装docker环境,启动docker服务,centos直接yum install docker,并启动服务即可,不再详细介绍。

拉去镜像:

docker pull tensorflow/serving

3.创建容器

把saved_model_half_plus_two_cpu模型文件夹放到/root/docker/目录下

创建容器:

docker run -t --rm -p 8501:8501 -v "/root/docker/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two --name half_plus_two tensorflow/serving &

其中:

1./docker/saved_model_half_plus_two_cpu:模型文件夹目录

2.-p表示端口号,8500是grpc通信端口,8501是restful_api通信端口

3./models/half_plus_two:模型存放在docker容器的位置

4.–name half_plus_two:容器名称为half_plus_two

如下界面表示启动成功:

4.测试docker服务

使用postman或者curl均可

cur指令如下:

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

预测样本是“instances”: [1.0, 2.0, 3.0],预测结果如下,结果是正确的,每个输入值都被除以2再加上2:

结果如下:

“predictions”: [2.5, 3.0, 3.5]

postman如下:

赞(0) 打赏
版权归原创作者所有,任何形式转载请联系作者;码农code之路 » TensorFlow模型部署成Docker提供REST接口服务

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏