UbuntuにCaffeをインストール

UbuntuにCaffeをインストール

深層学習用ライブラリであるCaffeをUbuntu16.04にインストールする方法を紹介します.

スポンサーリンク

基本的な環境構築をまずは行う

こちらの記事で紹介した設定ファイルに書かれているものをインストールできていれば問題ないです.Ansibleを使えば,一発でインストールが完了するので,この機会に導入してみて下さい.

Caffeのダウンロード

今回は物体検出でよく使用されているFaster R-CNNを使用したかったので,こちらのレポジトリからCaffeをダウンロードしました.以下のコマンドを実行するだけです.

git clone https://github.com/peteanderson80/bottom-up-attention/
cd bottom-up-attention/lib
make
cd ../caffe

Caffeのインストール

まずはmakeに必要な設定ファイルを作成します.

cp Makefile.config.example Makefile.config

続いて作成したMakefile.configを開いて編集します.変更点は以下の通りです.

  • CUDNNをアンコメント
  • WITH_PYTHON_LAYER:=1をアンコメント
  • PYTHON_LIBRARIES := boost_python-py35 python3.5m
  • PYTHON_INCLUDE := /usr/include/python3.5m /usr/lib/python3.5/dist-packages/numpy/core/include
  • PYTHON_LIB := /usr/lib
  • INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial \ usr/local/include/opencv4
  • LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial \ /usr/local/include/opencv4
  • CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_50,code=compute_50

注意点として,想定しているPythonのバージョンは3.5,OpenCVはバージョン4です.この場合は,caffe/src内のlayer.cppとcaffe/util/io.cpp,caffe/layers/window_data_layer.cpp内の該当箇所を

CV_LOAD_IMAGE_COLOR -> cv::IMREAD_COLOR
CV_LOAD_IMAGE_GRAYSCALE -> cv::IMREAD_GRAYSCALE

のように変更します.

さらに,Makefile内(Makefile.configではないので注意)の195行目あたりを以下のようにします(opencv_imgcodecsを追加).

ifeq ($(USE_OPENCV), 1)
      LIBRARIES += opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

以上の変更が完了したら,makeします.

make all

上記のmakeが成功したら,以下を実行します.

make pycaffe

これでインストール完了ですが,おそらくmake allのときにエラーが出ると思います.手元の環境によって上記の設定ファイルの内容も変わってくるので,エラーが出た際はひたすらググるしかないです...

スポンサーリンク

MNISTで動作検証

まずはMNISTデータセットをこちらからダウンロードする.

そして/bottom-up-attention/data/mnist/に解凍する.

gunzip *.gz

続いて,/bottom-up-attention/caffe/example/mnist/create_mnist.shを編集する必要があります.具体的には,上で解凍したデータのディレクトリの指定が相対パスになっているので,絶対パスに変更します.

そして,/bottom-up-attention/に移動後,下記のコマンドを実行します.

./example/mnist/train_lenet.sh

上記が動けば問題なしのはずです.

タイトルとURLをコピーしました