使用 Docker 部署 TensorFlow 环境 ¶
Docker 是轻量级的容器(Container)环境,通过将程序放在虚拟的 “容器” 或者说 “保护层” 中运行,既避免了配置各种库、依赖和环境变量的麻烦,又克服了虚拟机资源占用多、启动慢的缺点。使用 Docker 部署 TensorFlow 的步骤如下:
wget -qO- https://get.docker.com/ | sh
如果当前的用户非 root 用户,可以执行 sudo usermod -aG docker your-user
命令将当前用户加入 docker
用户组。重新登录后即可直接运行 Docker。
Linux 下通过以下命令启动 Docker 服务:
sudo service docker start
拉取 TensorFlow 映像。Docker 将应用程序及其依赖打包在映像文件中,通过映像文件生成容器。使用
docker image pull
命令拉取适合自己需求的 TensorFlow 映像,例如:
docker image pull tensorflow/tensorflow:latest-py3 # 最新稳定版本TensorFlow(Python 3.5,CPU版)
docker image pull tensorflow/tensorflow:latest-gpu-py3 # 最新稳定版本TensorFlow(Python 3.5,GPU版)
更多映像版本可参考 TensorFlow 官方文档 。
基于拉取的映像文件,创建并启动 TensorFlow 容器。使用
docker container run
命令创建一个新的 TensorFlow 容器并启动。
CPU 版本的 TensorFlow:
docker container run -it tensorflow/tensorflow:latest-py3 bash
GPU 版本的 TensorFlow:
若需在 TensorFlow Docker 容器中开启 GPU 支持,需要具有一块 NVIDIA 显卡并已正确安装驱动程序(详见 “TensorFlow 安装” 一章 )。同时需要安装 nvidia-docker 。依照官方文档中的 quickstart 部分逐行输入命令即可。
安装完毕后,在 docker container run
命令中添加 --runtime=nvidia
选项,并基于具有 GPU 支持的 TensorFlow Docker 映像启动容器即可,即:
docker container run -it --runtime=nvidia tensorflow/tensorflow:latest-gpu-py3 bash