[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=W3bk2pojLoUGetting 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/51387161docker官方文件
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