더이상 유용하지 않은 글 (참고용)

TensorFlow를 Docker로 설치하기 원한다면, #2-1, #2-2를 건너뛰고 #2으로 가세요.

이전 포스트에서 기초적인 우분투 운영체제를 설치했습니다. 이번 포스트에서는 가장 많이 헤메는 (가장 많이 포맷하게 되는) CUDA, cuDNN, TENSORFLOW를 설치하겠습니다.

1. 설치 전 버전 확인하기 : CUDA & CUDNN

여기서 가장 많은 실수를 합니다. 잘 따라해주세요. 먼저 NVidia Driver, 그래픽카드 모델, CUDA, CUDNN 버전이 호환이 가능하도록 맞아야 합니다. 일단 나의 컴퓨터 상태를 확인하겠습니다.

lspci |grep -i VGA

output:

09:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
0a:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)

nvidia-smi output: nvidia-smi

현재 내 컴퓨터에 설치되어 있는 드라이버는 390.77 버전입니다. 이 링크에 따르면, linux의 CUDA toolkit들은 각 버전별로 요구하는 드라이버의 최소 버전이 다릅니다. 그리고 CUDA GPUs차트를 참고해 가지고 있는 GPU가 어느 버전을 지원하는지 확인해야 합니다.

한편, Tensorflow에서 지원하는 CUDA Version도 확인해야 합니다. 현재 나와있는 최신 CUDA 버전은 9.2이지만, Tensorflow는 9.0까지만 지원합니다. 그러므로 CUDA v9.0을 설치해야 합니다.

CUDA는 여러가지 버전을 동시에 설치할 수 있으므로 필요한 버전들을 모두 설치해도 무방합니다. 이 지점에서 가장 많이 헤메는 듯 합니다.

예를 들어..

가장 최신버전이라고 CUDA v9.2를 설치했는데,

정작 tensorflow에서는 CUDA v9.0까지만 지원을 하기때문에 오류가 발생하고,

이것저것 건드리다가 결국 포멧..

내가 무엇을 설치해야 하는지 잘 확인합시다.

  • NVIDIA Driver : 390.77 (설치완료)
  • CUDA toolkits : v9.0
  • cuDNN : v7.2.1 (August 7, 2018)
  • Tensorflow : v1.10.0

2. CUDA v9.0 설치하기

sudo chmod +x cuda_9.0*.*
./cuda_9.0.176_384.81_linux.run --override

설치를 실행하면 EULA 라이센스가 길게 나온다. ctrl+c를 눌러 바로 넘어갈 수 있다. 그리고 설치 설정은 다음과 같이 한다.

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 XXX?
(y)es/(n)o/(q)uit: n

Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
 [ default is /usr/local/cuda-9.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: n

Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...

3. cuDNN v.7.2.1 설치하기

(나중에, Tensorflow를 Docker로 설치하실 분은 패스하셔도 됩니다)

로그인 후 아래 목록을 다운로드 해준다.

cuDNN Library for Linux

#CUDA v9.0 이 설치된 폴더로 옮기기
sudo mv cudnn-9.0*.*  /usr/local/cuda-9.0
cd /usr/local/cuda-9.0

# Unpack the archive
sudo tar -zxvf cudnn-9.0*.*

# Move the unpacked contents to your CUDA directory
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo cp  cuda/include/cudnn.h /usr/local/cuda-9.0/include/

# Give read access to all users
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

환경변수를 추가해주는 작업을 수행한다. vi 에디터로 ~/.bashrc를 편집한다.

sudo vi ~/.bashrc

가장 아래로 내려가서 다음과 같이 환경변수를 추가한다.

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

위 내용을 복사해서 터미널 vi에디터 상에서 붙여넣는다.

source ~/.bashrc

터미널을 재시작한다.

Comments

Eungbean Lee's Picture

About Eungbean Lee

Lee is a Student, Programmer, Engineer, Designer and a DJ

Seoul, South Korea https://eungbean.github.io