Ubuntu14.04にCaffeをインストール(CPUモード)

  • 42
    Like
  • 1
    Comment
More than 1 year has passed since last update.

Caffeの導入手順について。CPUモード編。
GPUを使う場合はもっと面倒ですが、こっちも十分時間がかかります。
VirtualBox上で試しました。(Ubuntu14.04 LTS)
ほとんど以下のサイトの通りでできるのですが、一部補足してあります。
参考:Ubuntu 14.04 上での Caffe の導入手順メモ

たまにaptもpipもインストールに失敗することがあるので、気をつけてください。

CUDAのインストール

# 最新版をインストール
$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda

BLASのインストール

行列計算のライブラリ。MKL, OpenBLASなどでもいいらしいですが、ATLASがデフォルトのようなのでこれをインストール。

$ sudo apt-get install libatlas-base-dev

他の依存関係

# g++はこのバージョンじゃなきゃならない。
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler g++-4.6

Caffe のダウンロード

# gitが入ってなければ
$ sudo apt-get install git

# home直下に置きます。わかる人は好きなところにどうぞ。
$ cd
$ git clone https://github.com/BVLC/caffe.git

Makefile.config の設定

$ cd caffe
$ cp Makefile.config.example Makefile.config
$ vi Makefile.config
Makefile.config
#8行目をアンコメントアウト
# CPU_ONLY := 1

CPU_ONLY := 1

#12行目をアンコメントアウトしてバージョンを指定
# CUSTOM_CXX := g++ 

CUSTOM_CXX := g++-4.6

#15行目。おそらく変えたほうが良い。バージョンに合わせる。lsで確認を。
CUDA_DIR := /usr/local/cuda

CUDA_DIR := /usr/local/cuda-7.0

コンパイル

$ make -j4 all のようにすると並列処理ができる。数字はCPUのコア数。
時間がかかるのでフルパワーでやるのがおすすめ。

$ make all
$ make test
$ make runtest

テストが全部パスできればcaffeの環境構築は終了。
失敗した時は、問題を解決してから $make cleanをして$make allからやり直し。

Python でCaffe を使うための環境構築

python用のパッケージマネージャ

$ sudo apt-get install python-pip

下でscipyを入れる際に必要。

$ sudo apt-get install gfortran

pipで必要なライブラリのインストール

$ for req in $(cat ~/caffe/python/requirements.txt); do sudo pip install $req; done

足りないライブラリのインストール

$ sudo apt-get install python-dev python-numpy python-skimage

コンパイル。

$ make pycaffe

パスを通す。

$ vi ~/.bashrc
~/.bashrc
#適当なとこに書く
export PYTHONPATH=~/caffe/python/:$PYTHONPATH

反映させる

$ source ~/.bashrc

あとは

$ python
>>> import caffe

でcaffeが読み込まれればOK。お疲れ様です。