NVIDIA DIGITS를 사용하여 Deep Learning 교육 환경 설정

목적



로컬 PC(Ubuntu 16.04)에 NVIDIA DIGITS를 사용한 Deep Learning의 트레이닝 환경을 정돈한다.
이 페이지 의 DIGITS에 관한 부분을 일본어로 써 있을 뿐입니다

이쪽의 이미지의 좌측 부분(트레이닝 환경:DIGITS)을 구축하는 이미지입니다.


PC 환경


  • OS: Ubuntu 16.04(가상 환경에서는 GPU 인식할 수 없었기 때문에 물리 환경에 OS 인스톨)
  • 디스크 공간 : 120GB 이상 권장 (이미지 인식 데이터 세트에 필요)
  • GPU: GeForce GTX 670 GeForce GTX 1060 (CUDA 대응 GPU가 필수입니다)

  • ※ GTX 670이라고 최신의 CUDA 라이브러리에 대응하고 있지 않아, DIGITS의 트레이닝이 동작하지 않았다.

    NVIDIA 드라이버 설치



    우선은 Ubuntu에 GPU를 인식시킬 필요가 있으므로, NVIDIA 드라이버의 인스톨한다.
    $ sudo apt-get install -y apt-transport-https curl
    $ cat <<EOF | sudo tee /etc/apt/sources.list.d/cuda.list > /dev/null
    deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /
    EOF
    $ curl -s \
     https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub \
     | sudo apt-key add -
    $ cat <<EOF | sudo tee /etc/apt/preferences.d/cuda > /dev/null
    Package: *
    Pin: origin developer.download.nvidia.com
    Pin-Priority: 600
    EOF
    $ sudo apt-get update && sudo apt-get install -y --no-install-recommends cuda-drivers
    $ sudo reboot
    

    GPU를 인식할 수 있는지 확인.
    $ nvidia-smi
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 396.44                 Driver Version: 396.44                    |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 106...  Off  | 00000000:01:00.0  On |                  N/A |
    |  0%   48C    P2    24W / 120W |    495MiB /  6070MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    

    DIGITS 설치



    Docker를 사용하는 방법과 Docker를 사용하지 않고 필요한 도구를 개별적으로 설치하는 방법이 있다.
    Docker를 사용하면 여러 작업(cuDNN, NVcaffe, DIGITS의 설치)을 정리해 주므로 이번에는 Docker를 사용하여 설치한다.

    Docker 설치



    Docker를 사용하는 전제가 되는 도구를 설치하고 Docker 리포지토리를 추가.
    $ sudo apt-get install -y ca-certificates curl software-properties-common
    $ 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 Engine Utility(nvidia-docker2) 리포지토리를 추가하고 nvidia-docker2를 설치하고 매번 sudo 없이 Docker를 사용할 수 있는 권한을 설정한 다음 시스템을 다시 시작합니다.
    $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
      sudo apt-key add -
    $ curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \ 
      sudo tee /etc/apt/sources.list.d/nvidia-docker.list 
    $ sudo apt-get update 
    $ sudo apt-get install -y nvidia-docker2 
    $ sudo usermod -aG docker $USER
    $ sudo reboot
    

    NVIDIA GPU Cloud(NGC) 계정 생성



    NVIDIA가 공개하고 있는 Docker 컨테이너를 이용하고, 계정을 작성한다.
    htps : / / n gc. 응아아. 코 m / 시그 누 p / 레기 s r
    계정을 만든 후 API 키를 생성하여 복사합니다.

    NGC 컨테이너를 사용하여 DIGITS 설치



    NGC 컨테이너 레지스트리에 로그인합니다.
    $ docker login nvcr.io
    Username: $oauthtoken
    Password: <生成したNGC API Keyをペースト>
    

    NGC 컨테이너를 사용하여 nvidia-smi 명령이 통과하는지 테스트합니다.
    docker run --runtime=nvidia --rm nvcr.io/nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 nvidia-smi
    

    데이터 및 작업 디렉토리를 설정하고 DIGITS 컨테이너를 실행하여 설치합니다.
    ※username은 적절하게 읽는다
    $ mkdir /home/username/data
    $ mkdir /home/username/digits-jobs
    $ nvidia-docker run --name digits -d -p 8888:5000 \
     -v /home/username/data:/data:ro \
     -v /home/username/digits-jobs:/workspace/jobs nvcr.io/nvidia/digits:18.05
    

    브라우저에서 http://localhost:8888로 이동하여 DIGITS 페이지가 표시되면 설치 성공.
    재기동 등을 행한 경우에는, 컨테이너가 정지하므로 이하의 커맨드로 기동시킬 필요가 있다.
    $ nvidia-docker start digits
    

    계속



    NVIDIA DIGITS를 사용하여 이미지 분류 모델 만들기
    htps : // 이 m / 어른 10 / ms / 2b9b4f3730c7121 A8E92

    참고원

    좋은 웹페이지 즐겨찾기