원래 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

1. Visual Studio 2015 설치

       해당 버전으로 다운로드 받아 설치합니다 => Visual Studio Community 2015 with Update 3 

       설치 시에 Windows 8.1 SDK도 선택해서 설치해 줍니다.

       만약에 해당 패키지가 설치되어 있지 않았다면 프로젝트 생성 대화상자에서 

       Visual C++ 카테고리로 이동해서 다음 메뉴를 선택해서 설치해 줍니다.

       해당 메뉴가 없고, 프로젝트 목록들이 뜬다면 이미 설치되어 있는 겁니다.

 

2. Python 3.5 설치 ( ※ 2.7 이나 3.5 둘중 하나 선택해서 설치해야 합니다. )

       https://www.python.org/downloads/windows/

       저는 3.5.0에서 Windows x86-64 executable installer로 다운받아서 설치 했습니다.

       기본경로가 복잡해서 경로를 변경해서 설치했습니다.

 

       설치가 끝나면 확장 패키지를 다운받습니다.

        https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

       저는 3.5에서 최신인 numpy‑1.16.6+vanilla‑cp35‑cp35m‑win_amd64.whl를 다운 받았습니다.

       다운받고 cmd 에서 다음 명령어를 순서대로 실행합니다.

             pip 버전 업그레이드

             > python -m pip install --upgrage pip

             numpy 패키지 설치

             > python -m pip install "D:\download\numpy‑1.16.6+vanilla‑cp35‑cp35m‑win_amd64.whl"

 

3. CMake 3.6 설치

       https://cmake.org/files/v3.6/

       다음과 같이 해당되는 파일 받아 설치하면 됩니다.  => cmake-3.6.0-rc1-win64-x64.msi

  

4. Git 설치

       https://git-scm.com/downloads

       윈도우용 최신버전 다운받으시면 됩니다.

       에디터는 편한걸로 선택하고, default 세팅으로 설치진행하면 됩니다.

 

5. Caffe 프레임워크 설치 및 빌드

       cmd에서 설치를 원하시는 폴더로 이동합니다.

            Git Clone

            > git clone https://github.com/BVLC/caffe.git

            Branch Switching

            > cd caffe

            > git checkout windows

 

       VS2015를 사용할 것이므로 caffe/scripts/build_win.cmd를 에디터로 열어서

       WITH_NINJA를 찾아서 모두 0으로 바꿔줍니다.

       cmd로 돌아와 빌드를 실행합니다.

            Build Caffe

            > cd scripts

            > build_win.cmd

       

      아무 문제 없다면 몇 분간 빌드를 계속 실행합니다.

      이상 없이 마무리 되면 다음과 같이 끝이 납니다.

      버전만 틀리게 설치하지 않았다면 문제없이 빌드 될겁니다.

      CPU버전은 설정이 끝났습니다.

      그래픽카드로 연산하시려면 계속해서 CUDA와 cuDNN으로 설치해주면 됩니다.

 

6. CUDA8.0 설치

      https://developer.nvidia.com/cuda-80-ga2-download-archive

      OS에 맞춰서 다운로드 받아서 설치해주면 됩니다.

      다운받은 파일을 실행시켜 설치를 진행합니다.

      이것도 설치경로 단순하게 변경했습니다.

      제 경우엔 설치완료단계에서 디스플레이 설정인지 패치하는 과정에서 화면이 꺼졌습니다.

      혹시나해서 몇 분 기다렸는데  화면이 나오질 않아 재부팅했습니다.

      설치완료인지 확신이 가지않아 검색해서 몇 가지 확인해보았습니다.

      cmd를 실행해서 다음 명령어를 입력합니다.

      > nvcc -V

      버전확인은 문제 없는것 같습니다.

      확실하게 하기위해 샘플하나 컴파일해서 실행되는지 확인했습니다.

      C:\CUDA\CUDASamples\0_Simple\asyncAPI 로 이동해서 asyncAPI_vs2015.sln을 실행시켜 컴파일했습니다.

      정의안된거라고 빨갛게 표시되는 변수가 몇개 있었는데 컴파일 하는데 문제는 없었습니다.

      바로 실행시켜도 되고, 응용프로그램은 C:\CUDA\CUDASamples\bin\win64\Debug에 생성됩니다.

      문제없으면 비슷하게 출력될 겁니다.

 

      패치는 설치안해도 크게 상관없는거 같은데 제 경우에는 패치도 설치했습니다.

      기존에 설치된 CUDA가 없다면 신경안써도 되는데, 다른버전이 중복설치되거나 설치했던적 있다면

      시스템 환경변수에 CUDA_PATH의 경로이름 버전이 제대로 설정되어있는지 확인하는 것이 좋습니다.

 

7. cuDNN 5.0 설치

      https://developer.nvidia.com/rdp/cudnn-archive

      링크에서 CUDA 8.0에 호환하는 cuDNN을 다운받으면 됩니다.

      저는 cuDNN v5를 다운 받았습니다.

      다운받아서 원하시는 경로에 압축을 푸시면 됩니다.

      그리고 아까 수정했던 caffe\scripts\build_win.cmd를 다시 수정합니다.

      빨간색으로 체크한 부분이 추가한 부분으로 cuDNN의 경로를 입력하시면 됩니다.

      그리고 아까와 같이 cmd 에서 build_win.cmd 스크립트를 실행시켜주면 됩니다.

           

      GPU버전 Caffe 빌드 까지 완료했습니다.

 

 

 

제가 보려고 간략하게 정리한겁니다.

다음 레퍼런스에서 자세한 내용 보실 수 있습니다.

=> https://baemincheon.tistory.com/21

 

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

[딥러닝] 우분투 18.04 Caffe 프레임워크 구축  (0) 2020.08.10

+ Recent posts