TensorFlow-GPU 환경 구축 2018년 3월

소개



기계 학습 시스템의 환경을 정기적으로 처음부터 다시 만들려고합니다.
그래서 얻은 노하우를 기록에 남겨두고 싶다.

새로 설치한 Linux로 작업
로컬 머신으로 사용하는 가정

Linux Mint 18.3 Cinnamon 64-bit

Ubuntu 16.04 하지만 어쩌면 같은 방법으로 갈 수 있을 것입니다.
다만 데스크탑 환경으로서는, Mint 쪽이 보다 안정되어 있다고 느꼈다

Mac에서 Ubuntu 16.04 부팅 가능한 USB 만들기
htp : ///bg-sk. 코 m/마 c/우분츠_보오츠 sb/
  • i5-2500K
  • GTX980

  • CUDA 관계



    NVIDIA CUDA Installation Guide for Linux
    htp // // cs. 응아아. 코 m / 쿠다 / 쿠다 - s s 치 치 온구이 드 - x x / 어서 x. HTML

    설치하려면
  • deb (apt-get)
  • run

  • 두 가지 유형이 있지만 다양한 편의 deb 사용

    준비



    TensorFlow는 빌드된 것을 도입하므로, CUDA계의 버젼을 미리 확인해 두지 않으면 안 된다
    문제의 대부분은 버전 관계의 문제이므로 여기가 수수께끼입니다.
    htps //w w. 천식 rfぉw. 오 rg / an s ta l / an s ta l_ so r s s # d d s o r se _



    tensorflow-1.6/1.5를 모두 지원하는 CUDA 9, cuDNN 7

    CUDA Toolkit 페이지에서 Legacy Releases
    htps : //에서 ゔぇぺぺr. 응아아. 코 m / 쿠다 - 토키 t - 아 r ゔ



    다운로드하여 세 번째 줄까지 실행
    $ sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
    $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
    $ sudo apt-get update
    

    드라이버 (nvidia-390) 설치



    이 시점에서 설치하지 않으면 종속성이 해결되지 않았습니다 (왜인지 잘 모르겠지만)
    재부팅 필요



    CUDA 9.0 설치



    제대로 버전 지정
    지정하지 않으면 최신 버전 9.1이 들어가서 다소 어려워진다 (라고는 해도 PATH의 지정으로 어떻게 되든)
    $ sudo apt-get install cuda-9-0
    

    CUDA 설치 후



    PATH를 추가 할 때 파일을 직접 편집하지 않고 echo를 사용하면 $를 이스케이프해야합니다.
    PATH 추가처는 .profile(내 경우)
  • ubuntu 시스템
  • 로컬에서 사용
  • .bash_login, .bash_profile이 없는지 확인
  • $ echo "export PATH=/usr/local/cuda-9.0/bin\${PATH:+:\${PATH}}" >> ~/.profile
    $ source ~/.profile
    $ sudo /usr/bin/nvidia-persistenced --verbose
    $ sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
    

    cuDNN 7.0 설치



    계정 생성 및 로그인 필요
    htps : //에서 ゔぇぺぺr. 응아아. 코 m / rdp / 쿠 드 - w w ぉ 아 d
  • cuDNN v7.0.5 Runtime Library for Ubuntu16.04 (Deb)
  • cuDNN v7.0.5 Developer Library for Ubuntu16.04 (Deb)
  • cuDNN v7.0.5 Code Samples and User Guide for Ubuntu16.04 (Deb)
  • $ sudo dpkg -i *.deb
    

    Python 세트 (Anaconda) 설치


  • NumPy, Jupyter 등을 일일이 설치하는 것이 번거로움
  • 필요한 경우 새로운 가상 환경을 만듭니다.
  • 문제가 발생하면 설치 폴더를 지우면 OK

  • Anaconda3 다운로드
    htps //w w. 아나 곤다. 코 m / 도 w 응 아 d / # ぃ ん x

    최근에 PATH는 추가하지 않고 conda activate/deactivate를 사용하는 것이 표준입니다.
    아래 설정으로 zsh를 시작하면 자동으로 기본 가상 환경 (base)으로 들어갑니다.
    $ sh ./Anaconda3-5.1.0-Linux-x86_64.sh
    $ echo ". /home/<username>/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
    $ echo ". /home/<username>/anaconda3/etc/profile.d/conda.sh" >> ~/.zshrc
    $ echo "conda activate" >> ~/.zshrc
    

    TensorFlow 1.6 설치



    Installing Tensorflow on Ubuntu
    htps //w w. 천식 rfぉw. 오 rg / in s ta l / in s ta l / ぃ

    번거롭기 때문에 기본 가상 환경에 설치
    $ sudo apt-get install cuda-command-line-tools
    $ echo "export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH:+:}/usr/local/cuda/extras/CUPTI/lib64" >> ~/.profile
    $ conda activate
    (base)$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp36-cp36m-linux_x86_64.whl
    

    동작 점검



    Using GPUs | TensorFlow Programmer's Guide
    htps //w w. 천식 rfぉw. 오 rg / p 로g 라메 rs_ 구이 데 / 우신 g_g 푸
    $ conda activate
    (base)$ jupyter notebook
    
  • Jupyter notebook 시작
  • New → Python 3에서 새 노트북을 만듭니다
  • 아래 내용을 셀에 입력하고 Shift + Enter로 실행

  • Jupyter_notebook
    import tensorflow as tf
    
    hello = tf.constant('Hello, TensorFlow!')
    with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
        print(sess.run(hello))
    



    import 때의 Warning 은 신경쓰지 않아도 좋을 것 같다
    Jupyter를 시작한 터미널을 확인하고 GPU가 인식되고 오류가 없으면 OK

    로그
    2018-03-04 11:16:58.334216: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
    2018-03-04 11:16:58.334554: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties: 
    name: GeForce GTX 980 major: 5 minor: 2 memoryClockRate(GHz): 1.291
    pciBusID: 0000:01:00.0
    totalMemory: 3.95GiB freeMemory: 3.45GiB
    2018-03-04 11:16:58.334583: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1312] Adding visible gpu devices: 0
    2018-03-04 11:16:58.557392: I tensorflow/core/common_runtime/gpu/gpu_device.cc:993] Creating TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 3178 MB memory) -> physical GPU (device: 0, name: GeForce GTX 980, pci bus id: 0000:01:00.0, compute capability: 5.2)
    Device mapping:
    /job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: GeForce GTX 980, pci bus id: 0000:01:00.0, compute capability: 5.2
    2018-03-04 11:16:58.585013: I tensorflow/core/common_runtime/direct_session.cc:297] Device mapping:
    /job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: GeForce GTX 980, pci bus id: 0000:01:00.0, compute capability: 5.2
    
    Const: (Const): /job:localhost/replica:0/task:0/device:CPU:0
    2018-03-04 11:16:58.595781: I tensorflow/core/common_runtime/placer.cc:875] Const: (Const)/job:localhost/replica:0/task:0/device:CPU:0
    

    좋은 웹페이지 즐겨찾기