tensorflow serving可以部署我们训练好的模型,不限于深度学习模型,然后我们可以使用restful api或者grpc进行远程调用。
(1)安装docker
在这里最好使用centos7极其以上,因为6会出现很多坑,虽然也可以解决,而且没法使用高版本的docker
增加docker的yum源
vi /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
yum install docker-engine
试一下:
docker search mysql
如果不出错说明安装成功
(2)利用docker拉取tensorflow serving镜像文件
docker pull tensorflow/serving
看一下镜像:
[root@bigdata ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tensorflow/serving latest 048f8669e211 6 weeks ago 214MB
可以清楚看到我们的镜像拉下来了
(3)利用官方提供的模式试一下:
启动镜像文件:
TESTDATA="$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata"
docker run -t --rm -p 8501:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving &
请求一下试试:
[root@bigdata ~]# 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
]
}
其实官方的模型就是一个线性函数y=0.5x+2