
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되었기 때문에 종료.