ubuntu14.04에 Caffe도 설치

ubuntu14.04에 Caffe도 설치

2022-10-04 last update

10 minutes reading DeepLearning python2.7 우분투14.04 Caffe

환경



GPU GTX1070
우분투 14.04
CUDA 8.0RC
cuDNN 5.1

지금까지 설치한 패키지



chainer 1.14.0
TensorFlow
OpenAI Gym
Theano


소개



최근 Caffe를 사용할 필요가 나왔으므로 설치를 시도한다. 지금까지 우분투 15와 16에 Caffe를 넣은 적이 있었지만, 14.04는 처음.

TD72씨의 이 사이트
ぃ tp // 이 m / TD72 / ms / bcb243 예 02760 예 1d8 b
따라 진행합니다.

종속성 설치



현재, 무엇이 설치되어 있고, 무엇이 되어 있지 않은지 파악하지 않기 때문에, 일괄해서 넣어 본다.
sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

적당한 디렉토리에 Caffe를 git clone한다.
git clone https://github.com/BVLC/caffe.git

cuDNN 설정


cd caffe
cp Makefile.config.example Makefile.config

Makefile.config의 5 행째를 uncomment out.

Makefile.config
USE_CUDNN :=1

컴파일



CPU를 4코어로 병렬 처리한다.
make -j4 all

여기서 뭔가 오류가 나왔다.
CXX src/caffe/data_reader.cpp
PROTOC src/caffe/proto/caffe.proto
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/benchmark.cpp
src/caffe/data_reader.cpp:1:28: fatal error: boost/thread.hpp: そのようなファイルやディレクトリはありません
 #include <boost/thread.hpp>
                            ^
compilation terminated.
make: *** [.build_release/src/caffe/data_reader.o] エラー 1
make: *** 未完了のジョブを待っています....
src/caffe/util/benchmark.cpp:1:53: fatal error: boost/date_time/posix_time/posix_time.hpp: そのようなファイルやディレクトリはありません
 #include <boost/date_time/posix_time/posix_time.hpp>
                                                     ^
compilation terminated.
make: *** [.build_release/src/caffe/util/benchmark.o] エラー 1
In file included from ./include/caffe/util/db.hpp:6:0,
                 from ./include/caffe/util/db_leveldb.hpp:10,
                 from src/caffe/util/db_leveldb.cpp:2:
./include/caffe/common.hpp:4:32: fatal error: boost/shared_ptr.hpp: そのようなファイルやディレクトリはありません
 #include <boost/shared_ptr.hpp>
                                ^
compilation terminated.
make: *** [.build_release/src/caffe/util/db_leveldb.o] エラー 1
In file included from src/caffe/util/insert_splits.cpp:7:0:
./include/caffe/common.hpp:4:32: fatal error: boost/shared_ptr.hpp: そのようなファイルやディレクトリはありません
 #include <boost/shared_ptr.hpp>
                                ^
compilation terminated.
make: *** [.build_release/src/caffe/util/insert_splits.o] エラー 1

이 사이트를 참고로 libboost와 야를 설치해 본다.
h tp : / / s t c ゔ rf ぉ w. 코 m / 쿠에 s 치온 s / 28867791 / 부이 l ぢ ん ぢ ー ー ー ー ー ー ー ー ん ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ーs
sudo apt-get install --no-install-recommends libboost-all-dev

다시 make하면 이번에는 다른 오류가 나왔다.
make -j4 all
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/data_reader.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/insert_splits.cpp
In file included from ./include/caffe/util/db.hpp:6:0,
                 from ./include/caffe/util/db_leveldb.hpp:10,
                 from src/caffe/util/db_leveldb.cpp:2:
./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: そのようなファイルやディレクトリはありません
 #include <gflags/gflags.h>
                           ^
compilation terminated.
make: *** [.build_release/src/caffe/util/db_leveldb.o] エラー 1
make: *** 未完了のジョブを待っています....
In file included from src/caffe/util/insert_splits.cpp:7:0:
./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: そのようなファイルやディレクトリはありません
 #include <gflags/gflags.h>
                           ^
compilation terminated.
make: *** [.build_release/src/caffe/util/insert_splits.o] エラー 1
In file included from src/caffe/data_reader.cpp:6:0:
./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: そのようなファイルやディレクトリはありません
 #include <gflags/gflags.h>
                           ^
compilation terminated.
make: *** [.build_release/src/caffe/data_reader.o] エラー 1

gflags 어떻게 든 말하기 때문에,이 사이트
htps : // 기주 b. 코 m / BVLC / 카후 / uki / 우분 츠 - 14.04 - e c2 - s
참고로 다음을 실행.
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make 
sudo make install

이 후에 다시 make를 실행. 또 또 새로운 에러가 출현.
make -j4 all
CXX src/caffe/data_reader.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/benchmark.cpp
In file included from ./include/caffe/util/db.hpp:6:0,
                 from ./include/caffe/util/db_leveldb.hpp:10,
                 from src/caffe/util/db_leveldb.cpp:2:
./include/caffe/common.hpp:6:26: fatal error: glog/logging.h: そのようなファイルやディレクトリはありません
 #include <glog/logging.h>
                          ^
compilation terminated.
make: *** [.build_release/src/caffe/util/db_leveldb.o] エラー 1
make: *** 未完了のジョブを待っています....
In file included from src/caffe/util/insert_splits.cpp:7:0:
./include/caffe/common.hpp:6:26: fatal error: glog/logging.h: そのようなファイルやディレクトリはありません
 #include <glog/logging.h>
                          ^
compilation terminated.
make: *** [.build_release/src/caffe/util/insert_splits.o] エラー 1
In file included from src/caffe/util/benchmark.cpp:3:0:
./include/caffe/common.hpp:6:26: fatal error: glog/logging.h: そのようなファイルやディレクトリはありません
 #include <glog/logging.h>
                          ^
compilation terminated.
make: *** [.build_release/src/caffe/util/benchmark.o] エラー 1
In file included from src/caffe/data_reader.cpp:6:0:
./include/caffe/common.hpp:6:26: fatal error: glog/logging.h: そのようなファイルやディレクトリはありません
 #include <glog/logging.h>
                          ^
compilation terminated.
make: *** [.build_release/src/caffe/data_reader.o] エラー 1

이 사이트를 보면, glog는 caffe의 공식 인스톨 가이드에 prerequisites로서 기재되고 있다고 한다.
htps : // 기주 b. 코 m/BVLC/카후/이스에 s/885
확실히, 확인하면 그대로.

Caffe 설치 가이드
ht tp // // 카후. 베르케 yゔぃ시온. 오 rg/인 s 탓 l_아 pt. HTML
안쪽에 그들 얼룩이 있기 때문에, 실행.
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

다시 make -j4 all 실행.
make -j4 all
・・・・・
・・・・・
CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin
CXX/LD -o .build_release/examples/cifar10/convert_cifar_data.bin
CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin
CXX/LD -o .build_release/examples/cpp_classification/classification.bin

make는 성공한 것 같습니다. 다음은 test .
make test

이것도 괜찮다. 다음은 runtest .
make -j4 runtest
・・・・・
・・・・・
[----------] Global test environment tear-down
[==========] 2081 tests from 277 test cases ran. (276632 ms total)
[  PASSED  ] 2081 tests.

모든 runtest가 괜찮은 것 같습니다.

파이썬에서 Caffe를 사용하기위한 환경 구축



만약을 위해 다시 파이썬 계열의 패키지 관계를 설치.
sudo apt-get install python-dev python-pip python-numpy python-skimage gfortran
・・・・・
・・・・・
以下の特別パッケージがインストールされます:
  fonts-lyx gfortran-4.8 libamd2.3.1 libcamd2.3.1 libccolamd2.8.0
  libcholmod2.1.2 libfreeimage3 libgfortran-4.8-dev libglade2-0
  libumfpack5.6.2 python-dateutil python-decorator python-glade2
  python-matplotlib python-matplotlib-data python-nose python-pyparsing
  python-scipy python-skimage-lib python-support python-tz
提案パッケージ:
  gfortran-multilib gfortran-doc gfortran-4.8-multilib gfortran-4.8-doc
  libgfortran3-dbg python-gtk2-doc dvipng inkscape ipython python-configobj
  python-excelerator python-matplotlib-doc python-tornado python-traits
  python-wxgtk2.8 ttf-staypuft python-coverage python-nose-doc python-opencv
  python-skimage-doc
以下のパッケージが新たにインストールされます:
  fonts-lyx gfortran gfortran-4.8 libamd2.3.1 libcamd2.3.1 libccolamd2.8.0
  libcholmod2.1.2 libfreeimage3 libgfortran-4.8-dev libglade2-0
  libumfpack5.6.2 python-dateutil python-decorator python-glade2
  python-matplotlib python-matplotlib-data python-nose python-pyparsing
  python-scipy python-skimage python-skimage-lib python-support python-tz
・・・・・

설치되지 않은 패키지도 있었다. 다행이야.

다음은 pip에 필요한 라이브러리 설치
sudo pip install -r python/requirements.txt
・・・・・
・・・・・
  InsecurePlatformWarning
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

등과 Warning이 나왔다. 버전이 낮은 설치된 것 같습니다. 말한 대로, upgrade한다.
sudo pip install --upgrade pip
Successfully installed pip-9.0.1
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning

왠지 Warning이 나와 있지만, 우선 무시.

컴파일한다.
make -j4 pycaffe

패스를 통과.bashrc
export PYTHONPATH=/PATH_TO_CAFFE/python/:$PYTHONPATH

마지막으로
python
>>>import caffe

에서 import되었기 때문에 종료.