관리 메뉴

HAMA 블로그

Ubuntu + CUDA + CAFFE 설치 본문

통계 & 머신러닝 & 딥러닝

Ubuntu + CUDA + CAFFE 설치

[하마] 이승현 (wowlsh93@gmail.com) 2016. 3. 10. 11:39

Ubuntu + CUDA + CAFFE 설치  (2016 년 3월 05일 정리)
 
*환경
   - Ubuntu 14.04 데스크탑 (x64) 
   - NVIDIA GTX 980  
   - 기가바이트 H170-GAMING 3
   - Intel i5-6600 cpu @ 3.30GHz   (core 4) 

* 특이사항

   - 듀얼 모니터 인식을 못하더라~
   -  Ubuntu 내의 소프트웨어 업그레이드에서 그래픽카드 바꾸면 맛가기도 함.
   -  앞으론 Ubuntu  서버로 깔거나 Docker 를 잘 활용하자.

* 본 포스트 특이사항
    - 외부에서 접근해서 사용하기 위한 내용들이 포함됨.



1. Ubuntu (14. 04 ) /  Samba / 그래픽 드라이버 설치 

* Ubuntu 14.04 를 usb 부팅으로 만들어서 설치함. 

1.1 한글입력도구(키보드 등) 설치가 어려워 처음에 한글버전으로 설치 권장 

1.1.1 터미날 모드를 주로 사용하는 경우 영문버전으로 설치 권장 

1.2 apt 갱신 

1.2.1 탐색기에서 /etc/apt/sources.list 를 더블클릭 

1.2.2 ftp.daum.net 등으로 변경 

1.2.3 터미날에서 다음 수행 

1.2.3.1 sudo apt-get update 

1.2.3.2 sudo apt-get upgrade 

1.2.4 또는 한참 기다리면 soft update 가 자동으로 뜬다. 수행 

1.2.4.1 apt-get upgrade 로 진행하면 일부가 업뎃이 안된다. 

1.3 절전모드 변경 

1.3.1 원하는 대로 수정 (이후 터미날 모드로 진행하더라도 절전모드가 일부 먹힌다.) 

1.3.2 sudo service lightdm stop 을 해도 중지가 완전히 안되는듯 

1.4 network 주소 manual 로 변경 및 수정 

1.5 ssh server 설치 

1.5.1 sudo apt-get install openssh-server 

1.5.2 이후로는 터미날로 작업가능 

1.6 samba 설치 

1.6.1 sudo apt-get install samba samba-common-bin 

1.6.2 sudo smbpasswd –a yourusername 로 user 추가 

1.6.3 /etc/samba/smb.conf 수정, 끝에 아래 추가 

1.6.3.1 [yourusername] 

1.6.3.2 comment = yourusername

1.6.3.3 valid user = yourusername

1.6.3.4 path = /home/yourusername

1.6.3.5 browsable = yes 

1.6.3.6 writable = yes 

1.6.4 재부팅 

1.7 외부 데이터 폴더 network drive 연결 (학습을 위한 이미지가 외부저장소에 있을 경우) 

1.7.1 sudo apt-get install cifs-utils 

1.7.2 /etc/fstab 수정 

1.7.2.1 //외부ip/Share /home/pi/work/share cifs guest,uid=1000,gid=1000,iocharset=utf8 0 0 

1.8 kernel driver nvidia 로 변경 (X윈도우에서 작업) 

1.8.1 nouveau 기본 driver 를 nvidia driver 로 변경함 

1.8.2 확인 : lspci –vnn |grep VGA –A 10 

1.8.2.1 kernel driver in use : nouveau 로 확인될 것임 

1.8.3 윈도우 - 설정창 – 소프트업뎃 – 기타 에서 nouveau 를 nvidia 로 변경 

1.8.4 이후로 재부팅하면 화면이 안나오는 경우가 있음 . Ctrl-Alt-F1 으로 터미날 모드로 변경 

1.8.5 또는 sudo apt-get install nvidia-current 로 설치가능, 이 경우 kernel driver 가 변경되는지는       확인못함 


2. CUDA 설치 

2.1 URL : http://www.r-tutor.com/gpu-computing/cuda-installation/cuda7.5-ubuntu 

2.2 deb download : https://developer.nvidia.com/cuda-downloads 

2.3 CUDA Repository 

2.3.1 sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb 

2.3.2 sudo apt-get update 

2.4 CUDA Toolkit 

2.4.1 sudo apt-get install cuda 

2.4.2 reboot 

2.5 CUDA environment (.bashrc 수정) 

2.5.1 export CUDA_HOME=/usr/local/cuda-7.5  

2.5.2 export LD_LIBRARY_PATH=${CUDA_HOME}/lib64  

2.5.3 export PATH=${CUDA_HOME}/bin:${PATH}:. 

2.6 CUDA SDK Samples 

2.6.1 샘플디렉토리에서 다음 실행 cuda-install-samples-7.5.sh  ~    

2.6.2 cd ~/NVIDIA_CUDA-7.5_Samples  

2.6.3 cd 1_Utilities/deviceQuery  

2.6.4 make

2.6.5 deviceQuery 샘플  실행해서 성공여부 확인 

3.  CAFFE 설치 

3.1 구글링해서 적당한 설치 가이드를 일단 참고하시면서 보세요.

3.2 필수 빌드 패키지와 최신 커널 헤더 설치 

3.2.1 sudo apt-get install build-essential 

3.2.2 sudo apt-get install linux-headers-‘uname –r’ 

3.2.3 uname –r 을 터미날에서 확인 후 위에 대입 

3.3 의존성 라이브러리 설치 

3.3.1 sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt1-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev 

3.4 Caffe 소스 받고 python 패키지 다운 

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

3.4.2 cd caffe 

3.4.3 cat python/requirements.txt | xargs -L 1 sudo pip install 

3.5 충돌방지를 위한 심볼릭 링크 생성 

3.5.1 sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7 

3.5.2 sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy /usr/local/include/python2.7/numpy 

3.6 Make 복사 후 수정 

3.6.1 cp Makefile.config.example Makefile.config 

3.6.2 vi Makefile.config 

3.6.3 #CPU_ONLY := 1 (GPU 를 안쓰는 경우 주석처리를 푼다) 

3.6.4 PYTHON_INCLUDE := /usr/local/include/python2.7 \ 

3.6.5                     /usr/local/include/python2.7/numpy 

3.7 make pycaffe 

3.7.1 make pycaffe 

3.7.2 make all 

3.7.3 make test 

3.8 ImageNet Caffe model 과 Label 다운로드 

3.8.1 python scripts/download_model_binary.py models/bvlc_reference_caffenet 

3.8.2 sh data/ilsvrc12/get_ilsvrc_aux.sh 

3.9 python/classify.py io.py 수정 

3.9.1  하단 참조 


4.  CAFFE 테스트  

4.1 python python/classify.py --print_results examples/images/cat.jpg foo  실행해서 결과봄 

     4.2 run car1.jpg 처럼 run 을 활용해도 됨. 


tabby 로 인식했네요~


5.  앞으로 알아야 할것들

5-1. 모델이 먼지, 학습시킨다는것이 먼지, 분류한다는것이 먼지 알아야함

5-2. 경험을 통한 파인튜닝 학습.

5-3. CAFFE 에서 이미 제공하는 모델 살펴보기 (CaffeNet ,MNIST 등 )

5-4. CAFFE 에서 이미 제공하는 모델을 이용하여 자신의 데이터를 분류하여 보기 

5-5. CAFFE 를 이용하여 자신만의 모델 만들어보기 

5-6. 자신만의 모델을 이용하여 자신의 데이터 분류해보기

5-7. 파인튜닝을 통하여 좀더 나은 결과를 얻기


Comments