Caffe 빌드 설치 방법
Caffe 소스코드 컴파일하고, Caffe 설치 방법에 대해서 설명드리도록 하겠습니다. CPU에서 실행되는 CPU-only Caffe버전과 GPU에서 실행되는 cuDNN Caffe 버전으로 나뉘는데, GPU를 기반으로 실행되는 Caffe 버전으로 빌드하고 설치하도록 하겠습니다. Caffe는 Deep Learning Framework으로 Berkeley AI Research (BAIR)와 Berkeley Vision and Learning Center (BVLC)에서 개발된 프로젝트입니다. Caffe는 이미지 처리에 주로 사용되는 프레임 워크입니다.
데모
Caffe로 만들어진 데모사이트가 있습니다. URL을 제출하거나, 파일을 업로드하여 이미지 분류 기능을 아래와 같이 체험해 보실 수 있으실 겁니다.
http://demo.caffe.berkeleyvision.org/
환경
간편하게 Caffe를 사용하기 위해서는 docker 이미지를 다운 받은 뒤에 실행하여 사용하실 수 있습니다. docker 기반으로 GPU 버전으로 실행되는 Caffe의 경우 nvidia-docker 플러그인이 추가적으로 설치되어야 합니다. CPU-only Caffe와 cuDNN Caffe의 docker 이미지는 각각 아래의 명령어로 다운 받으실 수 있습니다.
$ docker pull bvlc/caffe:cpu
$ docker pull bvlc/caffe:gpu
하지만 이번 글에서는 호스트 환경에서 개발 환경으로 준비하는 것을 가정하여 설명 드리기 위해서, 직접 환경을 구축 후 소스코드를 빌드하도록 하겠습니다. 호스트 환경에 NVIDIA 드라이버가 설치되어 있어야하며, CUDA 8.0과 cuDNN 6.0이 설치 되었다는 가정하에 설명드리도록 하겠습니다. NVIDIA 드라이버 설치 방법은 아래의 글을 참고하실 수 있습니다.
그리고 CUDA 및 cuDNN 등을 설치하는 방법은 아래의 글을 참고하실 수 있습니다.
저는 호스트 환경에서 다른 버전의 CUDA 및 cuDNN 등의 라이브러리를 사용하고 있어서, NVIDIA의 docker 이미지를 이용하여 설명드리도록 하겠습니다. 아래의 명령어를 이용하여 docker 이미지를 다운 받으시고, 쉘을 실행 하였습니다.
$ nvidia-docker pull nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04
$ nvidia-docker run -it -v /data:/data nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04 /bin/bash
환경은 Ubuntu 16.04를 기준으로 설명드리도록 하겠습니다.
패키지 설치
아래의 명령어로 Caffe 빌드에 필요한 패키지를 설치해 주시기 바랍니다.
$ sudo apt-get install build-essential cmake libblas-dev libboost-all-dev libprotobuf-dev libgoogle-glog-dev libgflags-dev libhdf5-dev libhdf5-serial-dev libopencv-dev liblmdb-dev libleveldb-dev libsnappy-dev protobuf-compiler libatlas-dev libatlas-base-dev
Caffe 소스코드 다운로드 및 설정
아래의 명령어로 소스코드를 다운 받은 뒤에, 빌드할 버전을 선택합니다.
$ git clone https://github.com/bvlc/caffe /data/caffe
$ cd /data/caffe && git checkout tags/1.0
그리고 다음 명령어로 빌드 설정 파일을 복사합니다.
/data/caffe$ cp Makefile.config.example Makefile.config
복사가된 Makefile.config 파일을 열고, USE_CUDNN 주석을 아래와 같이 해제합니다.
# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1
caffe 빌드 및 설치
소스코드 설정이 끝나면 아래와 같은 명령어로 build 디렉토리를 생성 후 빌드 하실 수 있습니다.
/data/caffe# mkdir build
/data/caffe# cd build
/data/caffe/build# cmake ..
/data/caffe/build# make all
/data/caffe/build# make install
( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)