1.docker安装
首先安装docker-ce,这部分教程很多,不难。
2.nvidia-docker安装
2.1 卸载nvidia-docker及其它GPU容器
1. docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
2. sudo apt-get purge -y nvidia-docker
2.2 添加仓库包
1. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
2. distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
3. curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
4. sudo apt-get update
2.3 安装nvidia-docker2
1. sudo apt-get install -y nvidia-docker2
2. sudo pkill -SIGHUP dockerd
2.4 测试安装nvidia-docker成功(注意选择自己的cuda版本)
docker run --runtime=nvidia --rm nvidia/cuda:10.2-base nvidia-smi
若出现下图信息则成功:
3.tensorflow/serving镜像安装
3.1 拉取镜像
首先拉取镜像(注意:自己若使用的tensorflow为1.X,cuda版本也不是最新的话,不要直接拉取最新版本的tensorflow/serving:latest-gpu,会导致在启动镜像时提示驱动不匹配)。
我在本地使用的tf1.14.0,cuda是10.2,因此在这里我拉取的镜像是tensorflow/serving:1.14.0-gpu:
docker pull tensorflow/serving:1.14.0-gpu
3.2 服务开启
sudo docker run --runtime=nvidia -td --name tfs_qa_gpu --gpus "device=1" \
-p 8501:8501 \
--mount type=bind,source=/mnt/stephen-lib/output/multi_model/,target=/models/multi_model \
-t tensorflow/serving:1.14.0-gpu \
--model_config_file=/models/multi_model/models.config