Py学习  »  docker

使用 Docker 安装 TensorFlow

TensorFlow • 5 年前 • 883 次点击  

Docker 使用容器创建虚拟环境,将 TensorFlow 安装与系统的其余部分隔离开来。 TensorFlow 程序在此虚拟环境中运行,可以与主机共享资源(访问目录,使用 GPU,连接到 Internet 等)。 TensorFlow Docker 映像会针对每个版本进行测试。


在 Linux 上,Docker 是能够启用 TensorFlow GPU 支持的最为简单的方法,因为主机上只需要 NVIDIA®GPU 驱动程序(无需安装 NVIDIA®CUDA®Toolkit)。



TensorFlow Docker 要求

1、在本地主机上安装 Docker。

2、对于 Linux 上的 GPU 支持,请安装 nvidia-docker。

 

注意:要在不使用 sudo 的情况下运行 docker 命令,请创建 docker 组并添加用户。 有关详细信息,请参阅 Linux 的安装后步骤。(https://docs.docker.com/install/linux/linux-postinstall/)



下载 TensorFlow Docker 图像

官方 TensorFlow Docker 图像位于 tensorflow / tensorflow Docker Hub 存储库中。 图像版本使用以下格式标记:


标签

描述

latest

最新发布的 TensorFlow CPU 二进制映像 默认

nightly

每晚构建 TensorFlow 图像(不稳定)

version

指定 TensorFlow 二进制映像的版本, 例如:1.11

标签变体

tag-devel

指定的标签版本和源代码

tag-gpu

指定的标签版本,支持 GPU(见下文)

tag-py3

指定的标签版本支持 Python 3

tag-gpu-py3

指定的标签版本支持 GPU 和 Python 3

tag-devel-py3

指定的标签版本支持 Python 3 和源代码

tag-devel-gpu

指定的标签版本,支持 GPU 和源代码

tag-devel-gpu-py3

指定的标签版本支持 GPU 和 Python 3,以及源代码


例如,以下内容将 TensorFlow 版本下载到您的计算机:

docker pull tensorflow/tensorflow                    # latest stable release
docker pull tensorflow/tensorflow:nightly-devel-gpu  # nightly dev release w/ GPU support



启动 TensorFlow Docker 容器

要启动 TensorFlow 配置的容器,请使用以下命令格式:

docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command]


详细信息,请参阅 docker 运行参考。(https://docs.docker.com/engine/reference/run/)


使用仅 CPU 映像的示例

 

让我们使用最新的标记图像验证 TensorFlow 的安装。 Docker 在第一次运行时下载新的 TensorFlow 映像:

docker run -it --rm tensorflow/tensorflow \
    python -c "import tensorflow as tf; print(tf.__version__)"


我们来演示一下 TensorFlow Docker 的更多应用。 在 TensorFlow 配置的容器中启动 bash shell 会话:

docker run -it tensorflow/tensorflow bash


在容器中,您可以启动 python 会话并导入 TensorFlow。

 

要在容器内的主机上运行 TensorFlow 程序,请安装主机目录并更改容器的工作目录(-v hostDir:containerDir -w workDir):

docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py


当容器中创建的文件暴露给主机时,可能会出现权限问题。通常来说,最好将主机系统上的文件编辑一下。

 

在 Python 3 支持下,使用 TensorFlow 的夜晚构建启动一个 Jupyter Notebook 服务器:

docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-py3


按照说明操作,在主机 Web 浏览器中打开 URL: 

http://127.0.0.1:8888/?token=...


GPU 支持

Docker 是在 GPU 上运行 TensorFlow 的最简单方法,因为主机只需要 NVIDIA® 驱动程序(不需要 NVIDIA®CUDA®Toolkit)。

 

安装 nvidia-docker,启动支持 NVIDIA®GPU 的 Docker 容器。nvidia-docker 仅适用于 Linux,有关详细信息,请参阅其平台支持常见问题解答。

 

检查 GPU 是否可用:

lspci | grep -i nvidia


验证您的 nvidia-docker 安装:

docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi


注意:nvidia-docker v1 使用 nvidia-docker 别名,其中 v2 使用 docker --runtime = nvidia。


使用支持 GPU 的图像的示例

 

下载并运行支持 GPU 的 TensorFlow 映像(可能需要几分钟):

docker run --runtime=nvidia -it --rm ensorflow/tensorflow:latest-gpu \
    python -c "import tensorflow as tf; print(tf.contrib.eager.num_gpus())"


设置支持 GPU 的图像可能需要一段时间。如果可以重复运行基于 GPU 的脚本,则可以使用 docker execto 重用容器。

 

使用最新的 TensorFlow GPU 映像在容器中启动 bash shell 会话:

docker run --runtime=nvidia -it tensorflow/tensorflow:latest-gpu bash


成功:现在已安装 TensorFlow。 阅读教程,开始使用。(https://tensorflow.google.cn/tutorials/?hl=zh-CN)




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/jN5uQYDc3P
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/25543
 
883 次点击