1. Install CUDA
먼저 현재 상황은 nvidia driver는 설치가 된 상태 + linux버전의 CUDA 설치파일을 가지고 있는 상태(runfile)
설치파일이 없다면 다음과 같이 하면 된다.
$ cd 설치경로
$ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
다음은 이 파일을 총 3개로 분리(추출)합니다.
- NVIDIA Driver installer
- CUDA installer
- CUDA Samples installer
1번은 이미 설치를 했으니 생략하고, 2번과 3번(생략해도됨)을 설치합니다.
$ chmod +x cuda_9.0.176_384.81_lnux.run
$ ./cuda_9.0.176_384.81_linux.run --extract=$HOME
이 방법을 택한 이유는 추출하여 따로따로 하지 않고 통째로 설치하니 에러가 떠서 이 방법으로 해보니 바로 설치가 되더군요.(에러 원인은 찾지 못하였습니다..)
이렇게하면 ~/home경로에 3개의 파일이 추출된 것을 볼 수 있습니다.
두번째로는 CUDA install 입니다.
$ sudo ./cuda-linux.9.0.176-22781540.run
세번쨰는 CUDA Samples install 입니다.
$ sudo ./cuda-samples.9.0.176-22781540-linux.run
여기까지가 참조1 블로그를 참조한것이고, 다음부터는 참조2 블로그에서 했습니다.
CUDA를 설치했으니 경로를 지정해주어야 작동하겠죠?
$ export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
$ export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ source ~/.bashrc
$ nvcc --version
이렇게 하면 nvcc --version에 의해 CUDA버전이 정상적으로 나와야합니다.
2. CUDNN install
cudnn을 nvidia 사이트에서 받았다고 가정하겠습니다. (버전에 따라 밑의 이름이 달라질 수 있으니 주의하세요, 무작정 따라하면 안됩니다!)
$ cd 설치경로
$ sudo tar -xzvf cudnn-9.0-linux-x64-v7.0.tgz
$ cd cuda
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
출력 화면에 CUDNN_MAJOR가 포함되어 있으면 cudnn도 설치 완료!
사실 여러 블로그에서도 잘 설명이 되있지만, 우분투에 처음 설치해본 나로서는 자꾸 여러 에러가 떳는데,
sudo apt-get remove --auto-remove nvidia-cuda-toolkit 을 통해 전부 삭제를 하고 저 위의 두 블로그를 참고하면서 했더니 곧장 잘 되었다.
Reference
https://medium.com/@zhanwenchen/install-cuda-and-cudnn-for-tensorflow-gpu-on-ubuntu-79306e4ac04e
https://yunsangq.github.io/articles/2017-02/Ubuntu-16.04(64bit),-CUDA-8.0,-cuDNN-5.1-Install
'# Machine Learning > 글 공부' 카테고리의 다른 글
Deep Neural Network에서의 bias, variance (0) | 2019.03.18 |
---|---|
Stndardization, Normalization, Minmax(표준화, 정규화, 민맥스) (0) | 2019.03.17 |
superpixel algorithm 이란? (0) | 2019.03.02 |
DataFrame, Series, NumPy, dtype에 관해서(error issue) (0) | 2019.02.22 |
object detection에서 class-label만 있을 경우 (0) | 2019.02.18 |