본 포스트에서는 사용한 PC는 엔비디아 GPU 1080을 사용 한다. https://developer.nvidia.com/cuda-downloads linux -> x86_64 -> Ubuntu -> 16.04 -> deb(network) 파일 다운로드후 아래의 명령어 수행 Network local version 본설치 패치 적용 https://developer.nvidia.com/cudnn 아래명령어를 실행한다. 추가적인 dependencies도 설치한다. 환경변수 설정 버전확인 python2의 경우 python3.5의 경우 Tensorflow-GPU 설치 타겟 URL은 홈페이지에서 참조 한다. 설치 위치 최종 버전 확인 그래픽 카드별 성능차이 비교는 이전포스트를 참조한다. 잘못 설치 했을 때 삭제 방법이다.TensorFlow GPU 버전 우분투 16.04에 설치 하기
Tensorflow
를 Ubuntu 16.04에 설치하는 법을 다룬다.
정확한 컴퓨터 모델은 보스몬스터 DX3 6708KSW
이다.TensorFlow 1.9
에 맞춰서 CUDA 9.0
과 cuDNN 7.1
로 업그레이드 설치 했다.1. CUDA 라이브러리 설치
2018.07.31일
기준 CUDA 9.0까지 지원하지만 TF 1.9에서는 9.0을 설치하라고하니 9.0으로 다운 받는다.
9.2을 설치해보니 library loading이 잘 되지 않았다.
패치를 따로 안해줘도 된다.
정확히 아래처럼 cuda-9-0
으로 줘야 제대로 설치된다. 그냥 cuda
하면 9.2
최신 버전으로 설치 될 수도 있다.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
sudo apt-get install cuda-9-0
파일을 다운받아서 하는 방법이다.
patch 파일도 cuBLAS관련해서 세개나 있어서 각각 업데이트 해줘야 한다.#본 파일
cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
#패치 파일
cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-3_1.0-1_amd64.deb
cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb
cuda-repo-ubuntu1604-9-0-local-cublas-performance-update_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda-9-0
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda-9-0
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local-cublas-performance-update-3_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda-9-0
2. cuDNN 및 환경변수 설정
cuDNN v7.1.4 (May 16, 2018) for CUDA 8.0
으로 다운 받는다.tar xvfz cudnn-9.0-linux-x64-v7.1.tgz
sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
$ sudo apt-get install libcupti-dev
LD_LIBRARY_PATH
와 CUDA_HOME
을 설정한다.vi ~/.bashrc
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
pip로 바로 설치
# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev
# Ubuntu/Linux 64-bit
$ sudo apt-get install python3-pip python3-dev
$ pip3 install tensorflow-gpu
업그레이드 방법 (추후에 새로운 버전이 나왔 을때)
https://www.tensorflow.org/get_started/os_setupsudo pip3 install --upgrade $TF_BINARY_URL
실행 결과
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
>>> hello = tf.constant("Hello, tensorFlow!")
>>> sess = tf.Session()
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.797
pciBusID 0000:01:00.0
Total memory: 7.92GiB
Free memory: 7.53GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
>>> print(sess.run(hello))
b'Hello, tensorFlow!'
설치 경로 찾는 command$ python3 -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'
/home/jemin/.local/lib/python3.5/site-packages/tensorflow
jaynux@jaynux-desktop:~/tf_examples$ python3.5 -c 'import tensorflow as tf; print(tf.__version__)'
1.9.0
CUDA 삭제
--auto-remove
옵션을 통해서 의존성 파일들을 모두 제거 한다.# 간단한 방법
sudo apt-get remove --auto-remove nvidia-cuda-toolkit
# 좀 더 깨끗하게
sudo apt-get --purge remove 'cuda*'
sudo apt-get autoremove --purge 'cuda*'
sudo rm -rf /usr/local/cuda-[your version]
sudo rm -rf /usr/local/cuda
'Data Science > TensorFlow, PyTorch, Keras, Scikit' 카테고리의 다른 글
Jupyter에 conda env. 추가하기 (0) | 2018.08.05 |
---|---|
TensorFlow를 공용 GPU에서 사용 할 때 메모리 절약 방법 (0) | 2018.08.02 |
TensorFlow GPU 버전 우분투 16.04에 설치 하기 (10) | 2018.07.31 |
Pycharm으로 TensorFlow 원격 빌드하기 (7) | 2018.04.25 |
학습 모델의 재사용 (Transfer Learning) (0) | 2017.12.09 |
TensorFlow 모델을 저장하고 불러오기 (save and restore) (3) | 2017.12.09 |
-
-
-
Windows에서 작업 할 때는 Anaconda를 사용 했지만 uBuntu에서는 그냥 기본적으로 Python이 있어서 pip를 이용해서 필요한것만 제가 설치 했습니다.
python3로 하신다면, pip3 install 명령어로 필요한 package만 각각 설치하실 수 있습니다.
저는 보통 충돌을 막기 위해서 python virtual env도 같이 사용해서 package를 독립적으로 설치하고 있습니다.
ubuntu도 anaconda를 설치 하실 수 있으니 그렇게 하셔도 될것 같습니다. conda environment도 찾아보시면 자료가 많이 나올 것 같습니다.
-
-
SR 2018.09.02 18:29
안녕하세요 글 잘 읽었습니다 좋은 정보 감사합니다. 2가지 정도 궁금한게 있는데요.
UBUNTU 를 이용해서 TEXT SERVER 를 설치해서 PUTTY를 이용해 작업을 하려고 합니다.
그때 여기 UBUNTU를 보면 Download Ubuntu Desktop / Download Ubuntu Server 부분이 있는데 어떤걸 설치해야하는지가 첫번째 질문입니다.
2번째 질문은 R 이나 Tensorflow gpu 버전을 설치하려고 하는데 , 현재 최근에 출시된 18.04.1 LTS 를 설치해서 해도 Cuda 나 cuDNN 을 설치하는데 문제가 없는 지 궁금합니다..-
저는 desktop 버전을 사용해서 설치 했습니다. server 버전은 GUI가 없는것으로 알고 있습니다. 여러 사용자가 사용한다면 resource 측면에서 좋다고들 하던데 저는 1~3명이서 사용하는 것이라 그냥 desktop으로 설치 했습니다.
가끔 xrdp 설치해서 원격 데스크탑으로도 windows에서 ubuntu로 GUI 상태로 접속하기 때문입니다 (설정을 위해서).
putty로 접속해서 vim으로 급할 때나 간단한것은 작업하기도 하나, 주로 pycharm으로 하고있습니다.
아래는 제가 작성한 pycharm으로 원격 빌드 하는법입니다.
http://goodtogreate.tistory.com/entry/Pycharm%EC%9C%BC%EB%A1%9C-TensorFlow-%EC%9B%90%EA%B2%A9-%EB%B9%8C%EB%93%9C%ED%95%98%EA%B8%B0
18.04도 LTS로 4년간 지원되는 안정화 버전이니 잘 지원하는것으로 알고 있습니다. 지금 구축하시는것이면 18.04가 좋다고 저도 생각합니다.
-