설치 환경


PC 사양

  1. GPU

    1. nVIDIA GeForce GTX 1060 (CUDA cores 1280)
    2. TensorFlow에서 이 녀석이 일을 주도적으로 할 겁니다.
  2. OS

    1. Ubuntu 16.04.1 LTS (Ubuntu Desktop for developers)
    2. Desktop 설치는 개취입니다. (윙크)

 

 

설치 참고 사이트


그래픽카드 드라이버 + CUDA Toolkit + cuDNN + TensorFlow

https://marcnu.github.io/2016-08-17/Tensorflow-v0.10-installed-from-scratch-Ubuntu-16.04-CUDA8.0RC-cuDNN5.1-1080GTX/

하단의 설치대로 해서는 정상 동작이 어려울 수 있습니다. (2016-09-09)

되도록이면 위 URL과 같은 방법으로 진행하시는 것을 추천 드립니다.

 


OS 설치


OS 설치 이미지 준비

  1. OS 설치용 ISO Image 파일 다운로드
  2. USB 준비
  3. USB에 ISO 이미지를 이식

OS 설치

  1. USB 부팅 설치

    1. 언어는 한글 설정 후 SSD에 적절히 파티셔닝 정보 확인하고 설치
  2. IP 주소 등록

    1. 총무팀에 스위칭 허용을 위한 MAC address를 알려줍니다. (JIRA에 발급된 IP 사용)
    2. 단, 내부어드민 / 아메리카노 / 포털사이트 / 외부메신저 로의 접근은 차단되 상태로 나갑니다.
    3. 서버로 사용할 것이기 때문에, 안 열어도 크게 불편한건 없습니다.

      # 이더넷 장치 확인
      $ ifconfig -a
      # 이더넷 장치가 enp2s0 라는걸 확인
       
      # IP 등록
      $ sudo nano /etc/network/interfaces
       
      # 에디터 모드에서 다음과 같이 추가 (1.209.128.xxx IP는 실제 할당 받은 IP로 대체해서 입력)
      auto enp2s0
      iface enp2s0 inet static
      address 1.209.128.xxx
      netmask 255.255.255.0
      gateway 1.209.128.254
      dns-nameservers 211.115.194.2 168.126.63.2
      # 저장하고 나옴
       
      # DNS 등록
      $ sudo nano /etc/resolv.conf
       
      # 에디터모드에서 없으면 등록하고 나옴
      nameserver 211.115.194.2
      nameserver 168.126.63.2
      # 저장하고 나옴
       
      # 이더넷 장치 내렸다가 올림
      $ sudo ifdown enp2s0
      $ sudo ifup enp2s0
  3. OS 업데이트

    1. 패키지 업데이트 해 줍시다.

      sudo apt-get update
  4. SSH 설치

    1. 작업은 이제 로컬 PC에서 ssh 접속해서 합니다. 로컬 PC 모니터, 키보드, 마우스는 필요 없습니다.

      # 패키지 확인
      $ dpkg -l | grep ssh 
       
      # ssh 설치
      $ sudo apt-get install openssh-server
       
      # ssh 활성화 확인 (22 포트가 열려 있는지 확인)
      $ netstat -ntl
  5. nVIDIA 드라이버 설치

    1. 다음의 방법으로 설치 (알아서 nVIDIA 그래픽카드 찾아서 최신 버전으로 설치해줌)

      # UI 모드 끄고 나서 함. SSH 접속이 아니라 서버에서 직접 할 때는 Ctrl + Alt + F6으로 CLI 모드에서 진행
      $ service lightdm stop
      $ sudo su -
      $ cd /usr/local/bin/
      $ wget -Nc smxi.org/sgfxi
      $ chmod +x sgfxi
      $ ls -al
      $ ./sgfxi
      $ reboot

 

 

TensorFlow 설치


GPU를 활용하도록 설치

  1. 아래와 동일하게 진행

    1. http://tech.marksblogg.com/tensorflow-nvidia-gtx-1080.html
    2. 아래 차이점의 GPU 드라이버 설치 부분 제외하고는 동일하기 때문에 별도로 기술하지 않습니다.
  2. 차이점

    1. 이미 nVIDIA 드라이버를 설치했기 때문에, 다음의 설치 작업은 진행하지 않습니다.

      $ sudo apt-get purge nvidia-*
      $ sudo add-apt-repository ppa:graphics-drivers/ppa
      $ sudo apt-get update
      $ sudo apt-get install nvidia-367
  3. 테스트

    1. GPU를 이용한 TensorFlow 실행
    2. GPU의 메모리를 이용해서 동작하는 것을 확인 할 수 있음.

GPU 사용 여부에 따른 성능 비교 

  1. 테스트 예제 : deep_fizz_buzz.py
  2. 비교

    Bar chart for 실행시간 비교
  3. 워낙 간단한 예제다 보니 별 소용이 없었습니다. 이미지 관련해서 뭔가 예제가 있으면 다음에 재비교 해 보겠습니다.

 

 

Tensorflow 설치 환경 구축


PIP 인스톨 및 텐서플로우 설치

  1. 가상 환경 설치

    $ sudo apt-get install python-pip python-dev python-virtualenv
  2. 가상 공간 만들기

    $ sudo virtualenv tf_gpu
    $ sudo chown -R user:user tf_gpu
  3. 가상 공간 활성화

    $ source tf_gpu/bin/activate
    1. Quit 명령어 : deactivate
  4. 가상 공간에 GPU용 소스 설치

    $ pip install matplotlib
  5. 플롯 라이브러리 설치 (그래프 확인용)

    $ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl
  6. 주피터 테마 설치 및 적용

    $ pip install git+https://github.com/dunovank/jupyter-themes.git
    $ jupyter-theme -t oceans16 -f consolas -fs 11 
    1. 개인 CSS 공유 : custom.css (테마 적용할 때, 테마 css 파일 위치가 표시되므로, 해당 css 파일을 편집기로 열어서 수정함)
    2. 개인 화면
  7. 주피터 노트북 실행 (미리 생성해둔 폴더로 실행)

    $ jupyter notebook --ip=0.0.0.0 --notebook-dir=/home/tensorflow/tf_gpu/train &

 

 

TensorFlow 동작 확인


해당 IP:8888로 접속하여 확인 (위와 같은 화면 확인)

 


  • 레이블 없음

1 개의 댓글

  1. 위 문서는 오동작하는 환경으로 구성되는 문제가 있었습니다.

    따라서, 정상동작하는 재설치 방법을 제시합니다. (괜히 리눅스 엎지 않으셔도 됩니다.)

     

    방법은 다음의 순서대로 진행합니다.

    1. 기존 설치 환경 제거

      1. 텐서플로우 제거
      2. CUDA 라이브러리 제거
      3. NVIDIA 드라이버 제거 (lightdm 종료 후 진행)
    2. 새로 설치하는 방법

      1. 참고 사이트 : https://marcnu.github.io/2016-08-17/Tensorflow-v0.10-installed-from-scratch-Ubuntu-16.04-CUDA8.0RC-cuDNN5.1-1080GTX/
      2. NVIDIA 드라이버 설치 (최신 BETA 말고, 공식 홈페이지에서 제공하는 최신 정식 드라이버 설치)
      3. CUDA toolkit 8.0 설치
      4. CUDNN 5.1 설치
      5. 쉘 환경변수에 CUDA 라이브러리 등록
      6. tensorflow 소스 다운로드 (github)하여 CUDA 라이브러리 설정하여 config 및 build 진행
      7. 최종 빌드된 이미지를 pip를 이용하여 설치