Docker Tensorflow Jupyter Notebook
Docker의 nvidia-docker를 이용해 Tensorflow Container를 생성하고 Jupyter Notebook을 돌려봅시다.
NVIDIA Docker
NVIDIA Docker는 Server의 NVIDIA GPU Card를 지원하는 CUDA Driver를 이용해 Container에서 쉽게 이용하도록 합니다.
Install 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
Test nvidia-smi
$ nvidia-docker run --rm nvidia/cuda nvidia-smi
Tensorflow Docker 실행
$ nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-devel-gpu
root# python
>>> import tensorflow as tf
Docker Container 생성 시 GPU Device 설정하기
Server 에서는 현재 4개의 Nvidia Titan X (Pascal) 가 있습니다.
NV_GPU 옵션을 통해 gpu card를 각각 할당할 수 있습니다.
NV_GPU=0 이면 0 번째 gpu card 만 사용합니다.
NV_GPU=’0,1’ 이면 0,1 번째 를 card 사용합니다.
$ NV_GPU=1 nvidia-docker run --rm -it --name tensorflow-gpu0 tensorflow/tensorflow:latest-devel-gpu
$ NV_GPU=’0,1’ nvidia-docker run --rm -it --name tensorflow-gpu01 tensorflow/tensorflow:latest-devel-gpu
Jupyter Notebook
$ sudo nvidia-docker run --name kjc-gpu-homework -p 8888:8888 -p 6006:6006 tensorflow/tensorflow:latest-devel-gpu
1. Jupyter 프로파일 생성
~/.jupyter 디렉토리가 생성되고, jupyter_notebook_config.py 파일 생성된다.
# jupyter notebook --generate-config
2. Jupyter 패스워드, RSA 생성
# ipython
In [1] : from IPython.lib import passwd
In [2] : passwd()
password 를 입력합니다.
Out[2] : ‘sha1: …………’
In [3] : ^D(ctrl+d)
y를 입력합니다.
3. jupyter_notebook_config.py
vi ~/.jupyter/jupyter_notebook_config.py
코드의 맨 밑 줄부터 다음의 라인을 추가합니다.
c = get_config()
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
# 위에서 생성된 RSA 키를 삽입합니다.
c.NotebookApp.password = 'sha1:'
저장하고 jupyter 를 실행합니다.
$ jupyter notebook --allow-root
밑에서 8889 포트로 잡힌 것은 이미 8888 포트로 jupyter notebook이 실행 중이여서 그렇습니다.
http:/xxx.xxx.xxx.xxx:8888/tree?
'Docker' 카테고리의 다른 글
Docker network 네트워크 (2) | 2019.07.26 |
---|---|
Docker run 명령어 in AWS EC2 (0) | 2018.11.21 |
Docker AWS EC2 설치 (3) | 2018.11.20 |
Google Cloud with Docker (0) | 2018.03.06 |
An Updated Performance Comparison of Virtual Machines and Linux Containers (0) | 2017.07.07 |
Docker Tensorflow Jupyter Notebook
Docker의 nvidia-docker를 이용해 Tensorflow Container를 생성하고 Jupyter Notebook을 돌려봅시다.
NVIDIA Docker
NVIDIA Docker는 Server의 NVIDIA GPU Card를 지원하는 CUDA Driver를 이용해 Container에서 쉽게 이용하도록 합니다.
Install 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
Test nvidia-smi
$ nvidia-docker run --rm nvidia/cuda nvidia-smi
Tensorflow Docker 실행
$ nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-devel-gpu
root# python
>>> import tensorflow as tf
Docker Container 생성 시 GPU Device 설정하기
Server 에서는 현재 4개의 Nvidia Titan X (Pascal) 가 있습니다.
NV_GPU 옵션을 통해 gpu card를 각각 할당할 수 있습니다.
NV_GPU=0 이면 0 번째 gpu card 만 사용합니다.
NV_GPU=’0,1’ 이면 0,1 번째 를 card 사용합니다.
$ NV_GPU=1 nvidia-docker run --rm -it --name tensorflow-gpu0 tensorflow/tensorflow:latest-devel-gpu
$ NV_GPU=’0,1’ nvidia-docker run --rm -it --name tensorflow-gpu01 tensorflow/tensorflow:latest-devel-gpu
Jupyter Notebook
$ sudo nvidia-docker run --name kjc-gpu-homework -p 8888:8888 -p 6006:6006 tensorflow/tensorflow:latest-devel-gpu
1. Jupyter 프로파일 생성
~/.jupyter 디렉토리가 생성되고, jupyter_notebook_config.py 파일 생성된다.
# jupyter notebook --generate-config
2. Jupyter 패스워드, RSA 생성
# ipython
In [1] : from IPython.lib import passwd
In [2] : passwd()
password 를 입력합니다.
Out[2] : ‘sha1: …………’
In [3] : ^D(ctrl+d)
y를 입력합니다.
3. jupyter_notebook_config.py
vi ~/.jupyter/jupyter_notebook_config.py
코드의 맨 밑 줄부터 다음의 라인을 추가합니다.
c = get_config()
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
# 위에서 생성된 RSA 키를 삽입합니다.
c.NotebookApp.password = 'sha1:'
저장하고 jupyter 를 실행합니다.
$ jupyter notebook --allow-root
밑에서 8889 포트로 잡힌 것은 이미 8888 포트로 jupyter notebook이 실행 중이여서 그렇습니다.
http:/xxx.xxx.xxx.xxx:8888/tree?
'Docker' 카테고리의 다른 글
Docker network 네트워크 (2) | 2019.07.26 |
---|---|
Docker run 명령어 in AWS EC2 (0) | 2018.11.21 |
Docker AWS EC2 설치 (3) | 2018.11.20 |
Google Cloud with Docker (0) | 2018.03.06 |
An Updated Performance Comparison of Virtual Machines and Linux Containers (0) | 2017.07.07 |