1. 程式人生 > >[step by step]利用docker搭建Tensorflow環境(tensorboard + tensorflow+gpu)

[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

這裡寫圖片描述

在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