http://luke77.tistory.com/44
기반 시스템 정보:
System memory: 8G
Processor: Intel core i5-2500K 3.3GHz x 4
Graphics: Geforce GTX 970/PCIe/SSE2
OS type: Ubuntu 64-bit (영문)
본 내용은 예람님의 블로그 내용(Refer)을 참고하여 작성되었음.
기타 참고 사이트
0. 그래픽 카드 드라이버 설정 (작업 편의성을 위함, 이미 설치되어 있다면 Skip 해도 됨)
1) 터미널을 실행시키고, Ubutu 에 GPU Drivers PPA를 추가하고 소프트웨어 소스를 업데이트 함
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
2) System
settings 을 실행시키고, System 카테고리의 Software & Updates 를 실행함. Additional
Drivers 탭에서 최신 바이너리 드라이버 항목을 선택하고 "Apply Changes" 선택. 해당 드라이버가 자동으로
다운로드되고 설치됨. 시스템을 리부팅하면 설치 완료.
1. Anaconda 설치
1) https://www.continuum.io/downloads 에서 Anaconda for Linux Python 2.7 Linux 64-bit 버전 다운로드 함.
2) 터미널에서 다운로드 받은 폴더로 이동하고, 다음을 입력하여 Anaconda를 설치함
bash Anaconda2-4.1.1-Linux-x86_64.sh
(버전명은 다를 수 있으므로 다운로드 받은 파일에서 확인할 것)
중간 중간에 나오는 질문에는 모두 "yes" 한다.
home으로 나와서 (cd ~ 입력) gedit .bashrc 입력. 맨 하단에 Anaconda path 가 다음의 형태로 잘 적용되어 있는지 확인함.
# added by Anaconda2 4.1.1 installer
export PATH="/home/사용자명/anaconda2/bin:$PATH"
Terminal 을 종료하고 재실행 후 python 을 입력. 다음과 같은 형태의 문구가 보이고, import matplotlib 를 입력했을 때 에러가 없다면 성공.
2. CUDA Toolkit 설치
공식 TensorFlow 설치 페이지를 보면, 현재까지는 Cuda Toolkit 7.5와 cuDNN v4 를 반드시 설치하여야 함.
1) https://developer.nvidia.com/cuda-downloads 에 접속하여 Linux 용 runfile(local) 파일 다운로드.
2) cuda 7.5와 호환되는 gcc 컴파일러 설치
sudo apt-get install gcc-4.9 g++-4.9
3) 추가 패키지 설치
sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
4) 다운로드 받은 폴더로 이동하여, 런파일을 이용한 CUDA 설치
-EULA 동의 : accept
-You are attempting to install on an unsupported configuration. Do you with to continue? : yes
-Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39 ? no (이미 설치했음)
-Install the CUDA 7.5 Toolkit? yes
-Enter Toolkit Location : Enter (default)
-Do you want to install a symbolic link at /usr/local/cuda ? yes
-Install the CUDA 7.5 Samples? no
-Enter CUDA Samples Location : Enter (default)
sudo sh cuda_7.5.18_linux.run --override
5) cd ~ 입력 후 홈으로 이동. gedit .bashrc 입력/실행. 맨 마지막 줄에 다음을 입력 후 저장
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda
3. CUDNN 설치
1) https://developer.nvidia.com/cudnn 접속. Download 버튼을 통해 설치 (NVIDIA 가입 필요)
2) 다운로드 받은 파일을 우클릭하여 압축을 품. CUDA 폴더가 생성됨.
3) 다음을 입력하여 관리자 권한으로 탐색기 실행. usr/local/cuda 로 진입
sudo nautilus
4) CUDA/include 폴더 내에 들어있는 파일을 usr/local/cuda/include 에 복사
5) CUDA/lib64 폴더 내에 들어 있는 파일을 usr/local/cuda/lib64 에 복사
6) 다음 명령어 수행 (CUDNN을 전체 사용자가 사용)
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
4. TesnsorFlow 설치
1) Bazel 컴파일러 설치 (from Google)
- 자바 설치
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
- 압축 프로그램 for Bazel 설치
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip
- Bazel 다운로드 (현재 버전 0.3.1) : https://github.com/bazelbuild/bazel/releases
- 다운로드 받은 폴더에서 하기의 내용을 입력하고 Bazel 설치
chmod +x bazel-0.3.1-installer-linux-x86_64.sh
./bazel-0.3.1-installer-linux-x86_64.sh --user
- cd ~ 으로 홈으로 이동. gedit .bashrc 를 입력/실행하고 맨 하단에 다음을 입력 및 저장
export PATH="$PATH:$HOME/bin"
2) numpy 설치
sudo apt-get install python-numpy swig python-dev
3) TensorFlow 다운로드 및 설치
- Git 설치
sudo apt-get install git
- TensorFlow 소스 다운로드
git clone --recurse-submodules https://github.com/tensorflow/tensorflow
- TensorFlow 설정. tensorflow 폴더 진입 및 configure 설정
cd ~/tensorflow
./configure
Please specify the location of python. - Enter (default)
Do you with to build TensorFlow with Google Cloud Platform support? N
(난 Hadoop도 설치할거냐고 해서 y를 누름)
Do you wish to build TensorFlow with GPU support? y
Please specify which gcc should be used by nvcc as the host complier. : /usr/bin/gcc-4.8 (4.8이 아니고 4.9임)
Please specify the Cuda SDK version you want to use: 7.5 (난 8.0)
Please specify the location where CUDA 7.5 toolkit is installed. Refer to README.md for more details. : Enter (default)
Please specify the Cudnn version you want to use. : 4 (난 5)
Please specify the location where cuDNN 4.0 library is installed. Refer to README.md for more details. : Enter (default)
Please note that each additional compute capability significantly increases your build time and binary size. : 3.5
- TensorFlow 소스 컴파일 (상기 tensorflow 폴더에서)
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
- 컴파일 중 에러 발생 시 확인 사항
컴파일러 호환 문제라면 gcc 4.8 설치 (예. #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!)
sudo apt-get install gcc-4.8 g++-4.8
기타 여러 에러 발생시, 홈폴더 이동하여, tensorflow/third_party/gpus/crosstool/ 내 CROSSTOOL 파일에서,
* cxx_builtin_include_directory: "/usr/local/cuda-7.5/include" (cxx_builtin_ 등이 있는 부분에 모두 삽입)
* cxx_flag: "-std=c++11" 하단에 (두 군데 존재) 삽입
cxx_flag: "-D_FORCE_INLINES"
cxx_flag: "-D_MWAITXINTRIN_H_INCLUDED"
- TensorFlow 설치 패키지 생성
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
- 패키지 확인: tmp/tensorflow_pkg 내 tensorflow-0.9.0-py2-none-any.whl 파일이 있는지 확인 (버전명은 상이할 수 있음)
- Anaconda에 TensorFlow 설치 (버전명은 상이할 수 있음)
pip install /tmp/tensorflow_pkg/tensorflow-0.9.0-py2-none-any.whl
- Tensorflow 설치 확인: 하기의 소스코드를 실행하여 결과 확인 (터미널 실행 후 python 입력)
python
import matplotlib
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
- 다음과 같이 출력되면 성공. CUDA 관련 library들이 제대로 로딩되고, GPU가 제대로 인식되면 됨
- 만일 modprobe: ERROR: could not insert 'nvidia_xxx_uvm': Invalid argument 와 같은 에러와 함께 GPU 인식이 되지 않는다면 그래픽 드라이버 호환의 문제일 가능성이 높음.
이 경우 필자의 경우엔, nvidia cuda toolkit 을 설치하고 해당되는 에러의 그래픽 드라이버 버전으로 재설치 하였음.
Toolkit 설치
sudo apt install nvidia-cuda-toolkit
드라이버 재설치
sudo apt-get purge nvidia*
sudo killall nvidia-persistenced (없다고 나오면 그냥 skip)
sudo apt-get update
sudo apt-get install nvidia-358 nvidia-prime
sudo reboot
5. IDE 설치 (여기서는 PyCharm 설치)
1) PyCharm 다운로드 (https://www.jetbrains.com/pycharm/download/#section=linux)
- Community 의 경우 무료
- Professional 의 경우, 학생이라면 1년간 무료 이용 가능
2) 다운로드 받은 폴더로 가서 압축을 품. Pycharm 디렉토리를 적당한 위치에 복사 (여기서는 Home에 복사)
3) cd pycharm-2016.2/bin 이동 (폴더명은 상이할 수 있음)
4) gedit pycharm64.vmoptions 으로 해당 파일을 메모장에 열고, Xmx750m 을 부분을 수정한다. 최대 메모리를 설정하는 것으로 여기서는 4096m 으로 수정 (4GB)
5) bash pycharm.sh 를 입력하여 설치 및 실행
6) PyCharm 아이콘을 우클릭하여, lock from launcher를 클릭하여 런처에 고정함.
7) 터미널을 열고 다음을 입력함 (경로는 상이할 수 있으니 확인할 것)
sudo ldconfig /usr/local/cuda/lib64
8) Pycharm 종료 후 다시 실행시키고 프로젝트 생성 후 다음의 코드를 통해 실행 여부 확인
- 처음 실행시, Updating indicies, Updating python interpreter 작업으로 첫 코딩 가능 시간까지 시간이 걸림.
- GPU Test (다음의 코드 입력 후 실행시키면 반드시 하기 스크린 샷과 같은 결과가 도출되어야 함) : Google TensorFlow 관련 내용 참고(링크)
import tensorflow as tf
# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print sess.run(c)
- 결과
- 최종적으로 Linear regression 예제가 GPU 연산으로 제대로 돌아가는 지 확인한다. (관련 소스 링크)
'Deep Learning > setup_related' 카테고리의 다른 글
Cuda 7.5 download (cuda_7.5.18_linux.run) (0) | 2016.10.19 |
---|---|
Where is usr/local? (0) | 2016.10.19 |
How to Get Korean (Hangul) Working on Ubuntu 16.04 (0) | 2016.10.18 |
[Ubuntu]How do I install .run files? (0) | 2016.10.12 |
Linux Ubuntu 16.04 LTS 설치하기 (0) | 2016.10.12 |