docker 安装tensorflow

来源:互联网 发布:vb if 不等于 编辑:程序博客网 时间:2024/06/06 06:52

参考:
1、https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/docker
2、https://tensorflow.google.cn/install/install_linux#installing_with_docker


按照以下步骤通过Docker安装TensorFlow:

1、按照Docker文档中的描述在您的机器上安装Docker。
2、或者,创建一个名为docker的Linux组,以允许启动没有sudo的容器,如Docker文档中所述。 (如果你不这样做,每次调用Docker时都必须使用sudo。)
3、要安装支持GPU的TensorFlow版本,您必须先安装存储在github中的nvidia-docker。
4、启动包含TensorFlow二进制镜像之一的Docker容器。

本节的其余部分将介绍如何启动Docker容器。

CPU-only

要启动一个仅支持CPU的Docker容器(即没有GPU支持),请输入以下格式的命令:

$ docker run -it -p hostPort:containerPort TensorFlowCPUImage
  • -p hostPort:containerPort是可选的。 如果您打算从shell运行TensorFlow程序,请省略此选项。 如果您计划将TensorFlow程序作为Jupyter笔记本运行,请将hostPort和containerPort设置为8888.如果您想在容器内运行TensorBoard,请添加第二个-p标志,将hostPort和containerPort设置为6006。
  • TensorFlowCPUImage是必需的。 它标识了Docker容器。 指定下列值之一:
    • gcr.io/tensorflow/tensorflow,这是TensorFlow CPU binary image。
    • gcr.io/tensorflow/tensorflow:latest-devel,这是最新的TensorFlow CPU二进制镜像加源代码。
    • gcr.io/tensorflow/tensorflow:version,它是TensorFlow CPU二进制镜像的指定版本(例如,1.1.0rc1)。
    • gcr.io/tensorflow/tensorflow:version-devel,它是TensorFlow GPU二进制镜像的源代码的指定版本(例如,1.1.0rc1)。

gcr.io是Google容器注册表。 请注意,docker hub上也提供了一些TensorFlow镜像。

例如,以下命令在Docker容器中启动最新的TensorFlow CPU二进制镜像,您可以在其中运行TensorFlow程序:

# shell中打开$ docker run -it gcr.io/tensorflow/tensorflow bash# 或$ docker run --name test -it tensorflow/tensorflow /bin/bash

以下命令还会在Docker容器中启动最新的TensorFlow CPU二进制镜像。 但是,在这个Docker容器中,您可以在Jupyter笔记本中运行TensorFlow程序:

# 主机上打开网站链接到Jupyter,参看下图$ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow# 或$ docker run --name test -it -p 8888:8888 tensorflow/tensorflow…………Copy/paste this URL into your browser when you connect for the first time,    to login with a token:        http://localhost:8888/?token=c15b9bf78a1847173f29383895b6ffc86cacd0a59c98a211# 在主机上打开该网站即可

这里写图片描述

Docker首次启动时会下载TensorFlow二进制镜像。

# 先下载镜像docker pull tensorflow/tensorflow:latest# 再启动容器docker run --name test -it -p 8888:8888 tensorflow/tensorflow# 或docker run --name test -it tensorflow/tensorflow /bin/bash

GPU support

在支持GPU的情况下安装TensorFlow之前,请确保您的系统符合所有NVIDIA软件要求。 要启动具有NVidia GPU支持的Docker容器,请输入以下格式的命令:

$ nvidia-docker run -it -p hostPort:containerPort TensorFlowGPUImage
  • -p hostPort:containerPort是可选的。如果您打算从shell运行TensorFlow程序,请省略此选项。如果您计划将TensorFlow程序作为Jupyter笔记本运行,请将hostPort和containerPort设置为8888。
  • TensorFlowGPUImage指定Docker容器。您必须指定下列值之一:
    • gcr.io/tensorflow/tensorflow:latest-gpu,这是最新的TensorFlow GPU二进制图像。
    • gcr.io/tensorflow/tensorflow:latest-devel-gpu,这是最新的TensorFlow
      GPU二进制图像加源代码。
    • gcr.io/tensorflow/tensorflow:version-gpu,这是TensorFlow
      GPU二进制映像的指定版本(例如0.12.1)。
    • gcr.io/tensorflow/tensorflow:version-devel-gpu,它是TensorFlow
      GPU二进制图像的源代码的指定版本(例如0.12.1)。

我们建议安装其中一个最新版本。例如,以下命令在Docker容器中启动最新的TensorFlow GPU二进制映像,您可以在其中运行TensorFlow程序:

附加:
nvidia-docker
nvidia hub镜像

确保你已经安装了NVIDIA驱动程序和受支持的Docker版本(请参阅先决条件)。

注:主机安装nvidia驱动和cuda、cudann 参考这里
docker安装参考这里

# 安装nvidia-docker# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containersdocker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -fsudo apt-get purge -y nvidia-docker# Add the package repositoriescurl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \  sudo apt-key add -curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \  sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo apt-get update# Install nvidia-docker2 and reload the Docker daemon configurationsudo apt-get install -y nvidia-docker2sudo pkill -SIGHUP dockerd# Test nvidia-smi with the latest official CUDA image# docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi# 下载cuda 镜像# docker pull nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04
# shell中打开$ nvidia-docker run -it gcr.io/tensorflow/tensorflow:latest-gpu bash# 或$ nvidia-docker run -it tensorflow/tensorflow:latest-gpu /bin/bash

以下命令还会在Docker容器中启动最新的TensorFlow GPU二进制镜像。 在这个Docker容器中,您可以在Jupyter笔记本中运行TensorFlow程序:

# 主机网页上通过Jupyter打开$ nvidia-docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow:latest-gpu# 或$ nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu

以下命令将安装较旧的TensorFlow版本(0.12.1):

$ nvidia-docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow:0.12.1-gpu# 或$ nvidia-docker run --name test -it -p 8888:8888 tensorflow/tensorflow:0.12.1-gpu

Docker首次启动时会下载TensorFlow二进制镜像。 有关更多详细信息,请参阅TensorFlow docker自述文件。

原创粉丝点击