Nvidia-docker 딥러닝 개발환경 구축
1 minute read
Nvidia driver 설치
- nt800g5w-xd7s 모델의 삼성 노트북에 개발환경 구축
- GPU model : GP107M [GeForce GTX 1050 Mobile]
- Ubuntu 18.04 64bit 설치
- 기존에 설치된 Nvidia 드라이버 삭제가 필요할 경우 아래와 같은 명령어로 삭제
$ sudo apt-get remove --purge nvidia-*
- 우분투 Nvidia Driver는 아래와 같이 설치 권장
$ ubuntu-drivers devices
$ ubuntu-drivers autoinstall
- 아래 드라이버가 설치됨
driver : nvidia-driver-418 - third-party free recommended
Nvidia-docker 설치
-
Installing Docker Engine
-
Installing Docker Compose
- docker-compose를 활용할 경우 설치 진행
$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
- 정상 설치 확인
$ sudo docker-compose --version
-
Installing Nvidia-docker
- Nvidia docker 설치
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update
$ sudo apt-get install nvidia-docker2
$ sudo pkill -SIGHUP dockerd
- nvidia-docker 동작 확인
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
혹은
$ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
-
Tensorflow GPU 테스트
- dockerhub에서 tensorflow tag 확인
- tag 예시: latest-gpu-py3-jupyter
- $ docker run –runtime=nvidia -it -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
- 설치된 nvidia-XXX 버전 호환성에 따라 실행 에러가 발생할 수 있음
- 삼성 노트북에서는 Tensorflow 1.12 gpu 버전이 정상 동작하였으나 2080 Ti에서 커널 Restart 이슈 발생
- 2080 Ti와 삼성 노트북 둘 다에서 1.13 gpu 버전은 호환성 문제 발생하지 않음
Dockerfile을 이용한 나만의 이미지 만들기
FROM tensorflow/tensorflow:1.13.1-gpu-py3-jupyter
MAINTAINER DongKyun Yun <dkyun77@gmail.com>
# install dependencies from debian packages
RUN apt-get update
RUN apt-get install --no-install-recommends -y \
# install essentials
build-essential \
g++ \
git \
openssh-client \
# install python
python-dev \
python-pip \
python-setuptools \
python-virtualenv \
python-wheel \
pkg-config \
python-matplotlib \
python3-tk \
python-pillow \
# requirements for numpy
libopenblas-base \
python-numpy \
python-scipy \
# requirements for keras
python-h5py \
python-yaml \
python-pydot \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# install dependencies from python packages
RUN pip --no-cache-dir install -U keras \
lime \
shap \
eli5 \
xgboost \
gensim \
pandas \
scikit-learn \
statsmodels \
jupyter \
seaborn \
pandas_ml