docker的官方安装教程:https://docs.docker.com/install/linux/docker-ce/ubuntu/
里面使用的ppa源是国外的,下载速度非常慢,所以尝试更改为国内的源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo gedit /etc/apt/sources.list
将该文件内容替换为:
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
sudo apt-get update
sudo apt install apt-transport-https ca-certificates software-properties-common curl
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
sudo apt-get update
sudo apt install docker-ce
打开docker
sudo service docker start
查看docker版本信息
sudo docker version
通过docker可以直接pull下来tf serving的镜像(image),这个镜像中就包含了tensorflow_model_server等使用tf serving所必要的支持性工具:
docker pull tensorflow/serving
接下来创建一个文件夹并从github上克隆TensorFlow Serving 的仓库,仓库中提供了一个toy model,方便我们测试docker run:
mkdir -p /tmp/tfserving
cd /tmp/tfserving
git clone https://github.com/tensorflow/serving
运行TensorFlow Serving容器:
docker run -p 8501:8501 \
--mount type=bind,source=/tmp/tfserving/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 &
具体参数解释:https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/docker.md#running-a-serving-image
进行预测:
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] }
说明docker的container中成功使用了tensorflow serving。
docker的container默认存放路径是/var/lib/docker,如果根目录空间不够,可以尝试进行数据转移,参考这篇文章.