원래 Windows에서 그냥 작업하려고 했는데 나중에 해야하는 작업의 에뮬이 윈도우 지원을 안해서

할 수 없이, 우분투에 다시 설치 하게되었습니다.

 

1. 기존 Nvidia Driver 제거 및 Nouveau 드라이버 off

GPU 드라이버를 먼저 설치해야 하는데

CUDA에 Nvidia Driver가 포함되어 있으므로 Nvidia Driver을 따로 설치할 필요는 없습니다.

처음에 모르고 Nvidia Driver 설치하고, CUDA 설치하려는데  버전 충돌로  계속 실패해서 보니까

Nvidia Driver 설치하면 CUDA가 일부 설치되고, CUDA설치하면 Nvidia Driver가 설치되더군요.

그래서 결론적으로 CUDA만 설치하면 만사형통입니다.

 

기존에 설치된 드라이버가 있따면 새로 설치하는 CUDA와 충돌할 수 있으므로 설치전에 제거해줍니다.

$ sudo apt --purge autoremove "cublas*" "cuda*"

$ sudo apt --purge autoremove "nvidia*"

 

기타 Depedency를 설치합니다.

$ sudo apt-get install dkms build-essential linux-headers-generic

 

Nouveau를 off 설정해줍니다.

blacklist.conf에 아래 내용을 추가해줍니다.

$ sudo vi /etc/modprobe.d/blacklist.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias noveau off
alias lbm-nouveau off

$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

$ sudo update-initramfs -u

$ sudo reboot

 

2. CUDA 10.0 설치

 

CUDA 10.0 archive => https://developer.nvidia.com/cuda-10.0-download-archive

다음과 같이 환경에 맞는 버전을 선택합니다.

다운로드를 눌러 파일을 다운받고, 설명되어 있는대로 명령어를 입력합니다.

그리고 경로설정을 해줍니다.

$ sudo gedit ~/.bashrc (맨 밑에 추가)

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

$ sudo apt autoremove

$ source ~/.bashrc

$ reboot

 

설치확인

$nvidia-smi

$nvcc -V

 

3. CuDNN7 설치

 

CuDNN Archive => https://developer.nvidia.com/rdp/cudnn-archive

 

CUDA 10.0 지원하는 버전 설치

저는 7.6.5로 다운받아 설치했습니다.

로그인 해야 다운로드 받을 수 있는데 가입이 안되어 있다면 가입하시면 됩니다.

단순히 실행 목적이라면 Rutime만 받으면 됩니다 nvidia 샘플까지 돌린다면 Developer 로 다운 받습니다.

Runtime만 받아도 사용하는데는 문제없습니다.

다운로드 완료되면 설치를 시작합니다.

Runtime Library : $ sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.0_amd64.deb

Developer Library : $ sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.0_amd64.deb

더보기

Developer 설치 시 libcudnn7 관련 에러메세지 뜨는 경우

$ sudo apt --fix-broken install

Runtime 먼저 설치하고, Developer 설치하면 에러 없이 설치완료 됩니다.

 

$ sudo apt update

$ sudo apt install -y libcudnn7 libcudnn7-dev libc-ares-dev

 

$ sudo apt autoremove

$ sudo apt upgrade

 

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.7 /usr/local/cuda-10.0/lib64/

$ reboot

 

설치 확인

$ sudo find / -name "cudnn.h"

/usr 밑에 있는 cudnn.h 경로 확인

$ cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

 

4. Caffe 다운 및 빌드

 

- OpenCV

$ sudo apt install python3-opencv

 

- OpenBLAS
$ sudo apt-get install libopenblas-dev # OpenBLAS

 

- Other Dependencies

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

$ sudo apt-get install --no-install-recommends libboost-all-dev

$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

$ sudo apt-get install the python3-pip python3-dev

 

- Caffe 다운로드

$ sudo git clone https://github.com/BVLC/caffe.git 

$ cd caffe

$ cp Makefile.confg.example Makefile.config

$ gedit Makefile.config

<수정내용>
OPENCV_VERSION := 3

# -gencode arch=compute_20,code=sm_20 \
# -gencode arch=compute_20,code=sm_21 \

BLAS := open # if you’ve installed OpenBLAS

# PYTHON_INCLUDE := /usr/include/python2.7 \
# /usr/lib/python2.7/dist-packages/numpy/core/include

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

PYTHON_LIBRARIES := boost_python3 python3.6m
PYTHON_INCLUDE := /usr/include/python3.6m \
		/usr/lib/python3.6/dist-packages/numpy/core/include

$ sudo make clean

 

$ sudo make -j 6

$ sudo make test -j 6

$ sudo make runtest

 

빌드가 에러없이 모두 실행된다면 Caffe 프레임워크 구축이 완료된겁니다.

추가로 편의성을 위해 CAFFE_ROOT 경로를 지정해줍니다.

 

$ sudo gedit ~/.bashrc (맨 밑에 추가)

export CAFFE_ROOT=/home/user/workspace/caffe

$ source ~/.bashrc

$ cd $CAFFE_ROOT

 

 

 

 

 

레퍼런스

gist.github.com/bogdan-kulynych/f64eb148eeef9696c70d485a76e42c3a

medium.com/@anidh.singh/install-caffe-on-ubuntu-with-cuda-6d0da9e8f860

'딥러닝' 카테고리의 다른 글

[딥러닝] Windows 10에서 Caffe 프레임워크 구축  (0) 2020.08.04

+ Recent posts