[step by step]利用docker搭建Tensorflow环境(tensorboard + tensorflow+gpu)

前言

本篇文章搭建环境的操作系统是ubuntu14,windows搭建docker的方式与ubuntu有所区别,win的用户可以点击原文中的参考连接进行docker的搭建。挂载tensorboard的方法是一样的,可供大家参考

搭建docker

官方文档
https://docs.docker.com/install/linux/docker-ce/ubuntu/#uninstall-old-versions

主要步骤

//添加依赖
$ sudo apt-get -y install \
  apt-transport-https \
  ca-certificates \
  curl

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

$ sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
//安装Docker community edition
$ sudo apt-get update
$ sudo apt-get -y install docker-ce

//测试
$ sudo docker run hello-world
&

安装nvidia-docker
因为要使用gpu,所以要安装nvidia-docker。在 docker 里使用与 GPU 相关的功能时,要使用 nvidia-docker

//下载
$ wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb

//测试
$ nvidia-docker run --rm nvidia/cuda nvidia-smi

搭建Tensorflow

docker hub
https://hub.docker.com
大家可以到docker hub上下载自己需要的其他镜像

主要步骤

1、拉取镜像

$ nvidia-docker pull tensorflow/tensorflow:latest-gpu

[step by step]利用docker搭建Tensorflow环境(tensorboard + tensorflow+gpu)_第1张图片

在docker hub上搜索tensorflow 点击第一个镜像,可以看到文档中有两种拉取方法,第一种是普通的针对不使用GPU的用户,第二种是为使用GPU的用户提供的,我们选择第二种方法

2、建立容器

$ sudo nvidia-docker run -it --name mytensor -d -p  8888:8888 -p 6006:6006 -v /home/mytensor:/notebooks tensorflow/tensorflow:latest-gpu

要注意以下几点:
1、–name 是你要搭建容器的名字,在这里我起mytensor
2、-p 是挂载端口号,因为该镜像中带有jupyter,所以我们把8888端口给jupyter,6006端口给tensorboard
3、-v 是建立一个volume,在主机和容器之间建立共享文件,这样你在容器中增删改的文件会同步到主机上。/home/mytensor是我在主机上建立的文件夹的绝对路径,一定要写你建立文件夹的绝对路径,notebooks保持一致

3、

$ sudo nvidia-docker logs  + 产生的字符串

4、配置tensorboard

$ sudo nvidia-docker exec -it mytensor tensorboard --logdir tf_logs/

搭建完成,你可以通过https://localhost:8888 访问jupyter,https://localhost:6006 访问tensorboard

下次快速使用建立好的容器
docker start mytensor # 开启 mytensor 这个虚拟主机
docker attach mytensor deep_photo . # 进入 mytensor 虚拟机,终端命令行的前缀会改变

参考:

【视频】
Using Tensorflow with Docker (Demo) | Tensorflow + Jupyter + Docker
https://www.youtube.com/watch?v=W3bk2pojLoU

Getting started with docker, the step by step tutorial with examples
https://www.youtube.com/watch?v=Vyp5_F42NGs

【博客】
Windows下使用docker装TensorFlow小记
http://blog.csdn.net/seymour163/article/details/53236947

在Windows上玩TensorFlow(一)——安装Docker
http://blog.csdn.net/neilron/article/details/51387161

docker官方文档
https://docs.docker.com

从零开始在 Google 云平台上免费跑深度图像风格转换工具——Deep Photo Style Transfer
https://zhuanlan.zhihu.com/p/26419429

常用docker命令

docker ps        查看正在运行的容器
docker ps -a     查看所有容器包括运行过的
docker run *image* 运行某个镜像的容器 
--name *image_name* 为运行的容器起名字,方便删除操作
docker stop  *image_name*    停止运行的容器
docker rm    *image_name*    移除容器

1
1

1
1

1
1

1
1
1
1

1
1
1
1

1
1

1
1

1

1

1
1

1

你可能感兴趣的:(机器学习)