docker tensorflow - arcturus9/useful-link GitHub Wiki

* Final Setup
https://eungbean.github.io/2018/11/09/Ubuntu-Installation2-3/




* Trial Setup  
https://devyurim.github.io/python/tensorflow/development%20enviroment/docker/2018/05/25/tensorflow-3.html
https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-1.0)

1. Docker ์„ค์น˜ ๋ฐ ์…‹ํŒ…
(1) docker Install

$ curl -fsSL https://get.docker.com/ | sudo sh

$ sudo usermod -aG docker $USER           // ํ˜„์žฌ ์ ‘์†์ค‘์ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์ฃผ๊ธฐ
$ sudo usermod -aG docker ailab           // 'ailab' ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์ฃผ๊ธฐ


$ docker version

2. NVIDIA-docker ์„ค์น˜
(2) NVIDIA-docker
nvidia-docker : https://github.com/NVIDIA/nvidia-docker
nvidia-docker 1.0 ์„ค์น˜ ๊ณต์‹๋ฌธ์„œ : https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-1.0) 

$ sudo apt-get install nvidia-docker

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


2. NVIDIA ๋“œ๋ผ์ด๋ธŒ, CUDA, cuDNN ์„ค์น˜ ํ™•์ธ
NVIDIA ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜ : https://devyurim.github.io/2018/05/24/15.html
CUDA 9.0, cuDNN 7.0 ์„ค์น˜ : https://devyurim.github.io/2018/05/25/16.html


$ cat /usr/local/cuda/version.txt                                                   // cuda ์„ค์น˜ ํ™•์ธ
$ cat /usr/include/cudnn.h | grep -E "CUDNN_MAJOR|CUDNN_MINOR|CUDNN_PATCHLEVEL"     // cuDNN ์„ค์น˜ ํ™•์ธ


3. Tensorflow Docker ์„ค์น˜
๋„์ปค(Docker)๋Š” ์ด๋ฏธ์ง€(image)ํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์šด์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ…์„œํ”Œ๋กœ์šฐ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํ…์„œํ”Œ๋กœ์šฐ ๋„์ปค๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์šฐ์„  ๊ณต์‹ ๋ฌด๋ฃŒ ๋ฐฐํฌ ์ด๋ฏธ์ง€๋“ค์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ๋ ค๋ฉด docker hub ํ™ˆํŽ˜์ด์ง€์— ๊ฐ€์ž…์ด ํ•„์š”ํ•˜๋‹ค.

DockerHub : https://hub.docker.com/ 

๊ทธ๋ฆฌ๊ณ  ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ docker hub์— ๋กœ๊ทธ์ธํ•ด์ค€๋‹ค.

$ docker login

$ docker pull tensorflow/tensorflow:1.8.0-gpu-py3       // ํƒœ๊ทธ๋ช…์ด 1.8.0-gpu-py3์ธ ํ…์„œํ”Œ๋กœ์šฐ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ
$ docker images                                         // ๋„์ปค ๋‚ด ์ด๋ฏธ์ง€ ํ™•์ธ ๋ช…๋ น์–ด


์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด ๋กœ๋“œ ๋ฐ›์•˜์œผ๋ฉด nvidia-docker๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด๋œ๋‹ค. docker์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด๋Š” run์ด๋‹ค. ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

$ nvidia-docker run -it \
-p 8891:8888 -p 6006:6006
--name ailab-yurim
-v /home/ailab/docker/ailab-yurim:/notebooks \
-e PASSWORD="0000" \
--restart always \
tensorflow/tensorflow:1.8.0-gpu-py3