모두의연구소 딥러닝연구실 DeepLAB의 이동헌 연구원님이 정리한

<우분투에서 Caffe 설치하기 매뉴얼> 입니다.


모두의연구소 페이지와 커뮤니티 그룹에 오시면 더 많은 정보를 만나보실 수 있습니다.

모두의연구소 페이지 https://www.facebook.com/lab4all

모두의연구소 커뮤니티 그룹 : https://www.facebook.com/groups/modulabs


======


Caffe Installation in Ubuntu


설치 환경
- OS: Ubuntu 14.04 LTS
- GPU: NVIDIA Geforce 980
※ 설치 오류가 많이 나는 편인데 사용하는 PC 환경에 따라 오류 종류가 다르며, 나의 경우 다음과 같이 버전을 바꾸었더니 설치가 원활히 이루어졌다.
- Anaconda 설치 > Python 설치
- OpenCV 3.x 설치 > OpenCV 2.4.x 설치

※ Linux 환경에서 명령어를 입력할 때는 directory를 확인하고 설정하도록 한다.
 하위 폴더로 이동: >> cd  / 상위 폴더로 이동: >> cd ..


1. General 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


2. CUDA 설치
https://github.com/facebook/fbcunn/blob/master/INSTALL.md  Install CUDA 참조


3. BLAS 설치
여러 종류가 있지만 ATLAS를 설치하면 뒤에서 설정에 편리
>> sudo apt-get install libatlas-base-dev 

4. Python 설치
>> sudo su
>> apt-get install idle

[Caffe에서 요구하는 라이브러리 설치 목록]
Cython>=0.19.2
numpy>=1.7.1
scipy>=0.13.2
scikit-image>=0.9.3
matplotlib>=1.3.1
ipython>=3.0.0
h5py>=2.2.0
leveldb>=0.191
networkx>=1.8.1
nose>=1.3.0
pandas>=0.12.0
python-dateutil>=1.4,<2
protobuf>=2.5.0
python-gflags>=2.0
pyyaml>=3.10
Pillow>=2.3.0
six>=1.1.0
(or Anaconda 설치)
다운로드:  https://www.continuum.io/downloads


5. Remaining dependencies, 14.04
>> sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
(or Remaining dependencies, 12.04; 설치 항목이 많음)


6. OpenCV 설치
⦁ 아래 사이트를 참조하여 OpenCV 설치
(Ver 3.1)
http://embedonix.com/articles/image-processing/installing-opencv-3-1-0-on-ubuntu/
- 3rd step에서 cmake로 compile시, 설정 조건을 ②와 같이 설정
- (option) opencv_contrib module compile

(Ver 2.4.11)
http://computervisionwithvaibhav.blogspot.kr/2015/07/installing-opencv-300-on-ubuntu-1404_24.html
3rd step에서 cmake로 compile시, 설정 조건을 ②와 같이 설정

② https://gist.github.com/dynamicguy/3d1fce8dae65e765f7c4 참조
>> cmake -G "Unix Makefiles" -D CMAKE_CXX_COMPILER=/usr/bin/g++ CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D BUILD_FAT_JAVA_LIB=ON -D INSTALL_TO_MANGLED_PATHS=ON -D INSTALL_CREATE_DISTRIB=ON -D INSTALL_TESTS=ON -D ENABLE_FAST_MATH=ON -D WITH_IMAGEIO=ON -D BUILD_SHARED_LIBS=OFF -D WITH_GSTREAMER=ON ..

>> make all -j4
>> sudo make install
>> sudo gedit /etc/ld.so.conf.d/opencv.conf
opencv.conf 문서에 다음을 추가
/usr/local/lib

>> sudo ldconfig
>> sudo gedit ~/.bashrc.
bashrc 문서 맨 아래에 다음을 추가
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

7. Caffe 설치

>> git clone https://github.com/BVLC/caffe.git  (다운로드)
>> cd caffe
>> cp Makefile.config.example Makefile.config

② Makefile.config 문서 수정 (https://github.com/BVLC/caffe/pull/1667
참조)

⦁ USE_CUDNN := 1

⦁ MATLAB_DIR := /usr/local  (MATLAB 설치 시)
⦁ WITH_PYTHON_LAYER := 1

⦁ USE_PKG_CONFIG := 1


(OpenCV 3.x 사용 시)
⦁ OPENCV_VERSION := 3

(Anaconda 설치 시 python path는 주석처리 하고)
⦁ ANACONDA_HOME:=$(HOME)/anaconda

⦁ PYTHON_INCLUDE:=$(ANACONDA_HOME)/include \

⦁ $(ANACONDA_HOME)/include/python2.7 \

⦁ $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \

⦁ PYTHON_LIB := $(ANACONDA_HOME)/lib


③ Compile
>> make clean
>> make all  (여기서 error가 많이 발생. 앞의 조건들 충족했는지 확인!)
>> make test
>> sudo gedit ~/.bashrc
bashrc 문서 맨 아래에 다음을 추가
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"


(Python설치 시)
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib"

(Anaconda설치 시)
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/(username)/anaconda/lib"

>> make runtest

④ pycaffe 설치
>> make pycaffe
>> sudo gedit ~/.bashrc
bashrc 문서 맨 아래에 다음을 추가
PYTHONPATH=/home/(username)/caffe/python:$PYTHONPATH


⑤ distribute 실행
>> make distribute

8. 설치 확인
>> cd >> (caffe home)/python
>> python
>> import caffe

9. 기타
(ffmpeg 에러 시)
>> sudo add-apt-repository ppa:mc3man/trusty-media
>> sudo apt-get update
>> sudo apt-get install ffmpeg gstreamer0.1.0-ffmpeg

(pyconfig.h 에러 시)
>> make clean
>> export CPLUS_INCLUDE_PATH=/usr/include/python2.7
>> make all –j8

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. dacron 2017.03.06 17:11 신고

    cuda-8 버전 하신 분들은

    git clone https://github.com/daveselinger/opencv
    git checkout 3.1.0-with-cuda8

    opencv 다운을 이곳에서 하시면 되실겁니다..

모두의연구소 딥러닝연구실 DeepLAB에서 진행중인 논문세미나 발표자료입니다.


논문제목 : U-Net: Convolutional Networks for Biomedical Image Segmentation

발표자 : 최진우 연구원님

날짜 : 2016년 3월 28일

내용요약 : 세포들을 구분해내는 deconvolution 방법. 분석에 사용된 CNN 쪽 maxpooling 결과를 가져와서 segmentation에 활용함.


모두의연구소 페이지와 커뮤니티 그룹에 오시면 더 많은 정보를 만나보실 수 있습니다.

모두의연구소 페이지 https://www.facebook.com/lab4all

모두의연구소 커뮤니티 그룹 : https://www.facebook.com/groups/modulabs











저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

모두의연구소 IoT연구실 <모두의IoT>에서 진행중인 발표자료를 공유해 드립니다.


작성자 : 구현모 연구원님

날짜 : 2016년 03월 31일

내용요약 : 모두의IoT에서 사용할 데이터베이스인 MongoDB 를 라즈베리파이에 설치하기


모두의연구소 페이지와 커뮤니티 그룹에 오시면 더 많은 정보를 만나보실 수 있습니다.

모두의연구소 페이지 https://www.facebook.com/lab4all

모두의연구소 커뮤니티 그룹 : https://www.facebook.com/groups/modulabs


 

NOSQL redis MongoDB, Mysql

http://goo.gl/0uZDo9

 

MongDB 설명

http://goo.gl/jf45RF

 

NO SQL CAP Theorem

https://blog.outsider.ne.kr/519

 

binary json bson

http://ohgyun.com/421

 

 

MONGODB 설치 및 nodejs 연동 가이드

 

라즈베리 파이에 Node.js 최신버전 설치하기

http://mykumi.tistory.com/entry/%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%ED%8C%8C%EC%9D%B4-%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8-NodeJS-%EC%A0%9C%EC%96%B4

 

라즈베리파이 + 아두이노 + nodejs

http://node-arm.herokuapp.com/

 

1) Node 최신 패키지 다운로드

$ sudo wget http://node-arm.herokuapp.com/node_latest_armhf.deb

2) 패키지 설치

$ sudo dpkg -i node_latest_armhf.deb

 

라즈베리파이 SD카드 용량늘리기 4GB이상

http://www.rasplay.org/?p=2837

 

 

sudo raspi-config

 



 

라즈베리파이 MONGODB설치

http://cafefriend.net/blog/?p=54

http://wowan.tistory.com/58

 

sudo apt-get install mongodb

 

MONGODB 실행

http://hellogk.tistory.com/127

 

 

[root@localhost mongodb]# cd config/

[root@localhost config]# vi mongodb.conf

dbpath=/usr/local/mongodb

logpath=/usr/local/mongodb/log/mongodb.log

logappend=true

port=5050

verbose=true

fork=true

rest=true

 

[root@localhost config]# /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/config/mongodb.conf

 

MONGODB 이해

https://mylko72.gitbooks.io/node-js/content/chapter11/intro.html

http://mobicon.tistory.com/138

http://alnova2.tistory.com/606

몽고DB 명령 이해

  • help [option]: 문법에 대한 도움말을 보여준다option 인수로 도움말이 필요한 특정 영역을 지정할 있다.
  • use [database] : 현재 데이터베이스 핸들을 변경한다. 데이터베이스 작업은 현재 데이터베이스 핸들에서 처리된다.
  • show [option] : option 인수에 따라 목록을 보여준다option 값으로 다음 값들이 있다.

·          

    • dbs : 데이터베이스의 목록을 출력한다.
    • conllections : 현재 데이터베이스 컬렉션의 목록을 출력한다.
    • profile : 1밀리초 이상 걸린 가장 최근의 **system.profile` 항목들을 출력한다.
    • log [name] : 로그인한 내역을 출력한다. name 디폴트는 global 이다.
  • exit : 데이터베이스를 종료한다.

몽고DB 메소드 이해

다음은 메소드의 몇가지 예이다.

  • load(script): 내부의 자바스크립트 파일을 로드하고 실행한다.
  • UUID(string): 32-바이트 16진수 문자열을 BSON UUID 변환한다.
  • db.auth(username, password): 현재 데이터베이스에 대해 접속 가능 여부를 확인한다.

네이티브 메소드 전체 목록은 다음 URL에서 확인한다.

[명령어]

 

use test

show collections

 

collection 생성

db.createCollection("person",{"name":"hmkoo"})

collection 삭제

col1=db.getCollection("person")

col1.drop()

show collections

 

 

MONGODB node.js 연결

 

http://bcho.tistory.com/889

http://okky.kr/article/260877

http://mobicon.tistory.com/197

 

 

 

 

최신 페키지로 업데이트 하자.

sudo apt-get update

sudo apt-get upgrade

 

빌드하기 위해 필요한 라이브러리들을 설치하자.

sudo apt-get install build-essential libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev scons libboost-all-dev python-pymongo git

 

git에서 소스를 체크아웃하자

git clone https://github.com/skrabban/mongo-nonx86

 

체크아웃한 디렉토리로 이동

cd mongo-nonx86

 

컴파일을 하자.

sudo scons

 

설치를 하자

sudo scons --prefix=/opt/mongo install

 

유저를 추가하고 퍼미션 설정을 하자

sudo adduser --firstuid 100 --ingroup nogroup --shell /etc/false --disabled-password --gecos "" --no-create-home mongodb

 

로그 파일 저장을 위해 디렉토리를 생성하자

sudo mkdir /var/log/mongodb/

 

로그파일에 퍼미션을 설정하자

sudo chown mongodb:nogroup /var/log/mongodb/

 

 

상태값을 위한 디렉토리 생성 및 퍼미션을 설정하자

 

sudo mkdir /var/lib/mongodb

sudo chown mongodb:nogroup /var/lib/mongodb

 

init.d 스크립트를 복사하자

sudo cp debian/init.d /etc/init.d/mongod

 

config 파일을 복사하자

sudo cp debian/mongodb.conf /etc/

 

실행파일을 소프트링크로 걸자.

sudo ln -s /opt/mongo/bin/mongod /usr/bin/mongod

 

스크립트 퍼미션 설정하자

sudo chmod u+x /etc/init.d/mongod

sudo update-rc.d mongod defaults

 

서비스를 시작해보자

sudo /etc/init.d/mongod start

 

mongo 쉘을 심볼릭 링크를 걸자

sudo ln -s /opt/mongo/bin/mongo /usr/bin/mongo

 

쉘을 시작해보자

pi@raspberrypi ~ $ mongo

MongoDB shell version: 2.1.1-pre-

connecting to: test

 

 

 

 

 

 


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

+ Recent posts