ロボット研究者の戯言

Ubuntu 16.04 with CUDA にCaffeをインストール

      2017/07/03

はじめに

最近ますますディープラーニングが熱くなっていますね.

私は取り急いで使うことがないのですが,近い将来使う予定なので少し触ってみようと思い,Ubuntu16.04にCaffeのインストールを試みました.

少しつまずいた点があるので,インストール手順とポイントを整理しておきます.

スポンサーリンク



構築する環境

私が使用しているPCの構成は以下の通りです.

OS : Ubuntu 16.04
CPU : AMD Phenom II X6 1100T
GPU : Nvidia GeForce GTX960
メモリ : 8GB

え?AMDなんか使ってるの?って思われたかもしれませんが,安価な割に3.3GHzで6コアなので割と性能が良いです.ちなみに6年くらいに買ったCPUです.

余談ですが,CPUをハイスペックなものにするより,HDDをSSDに換装する方が何倍も幸せになれます.
重い処理をするなら高性能なCPUが必要ですが,最近はその役割はGPUに移行していますし,普通の使い方ならボトルネックとなるのはストレージのアクセス速度と思いますので.
最近はSSDの価格も安くなり,耐久性も向上しているので,TBオーダの大容量を求めなければSSDを買うのがベターですね.

私は最近SanDiskのSSDとNvidiaのGPUを購入して使っています.


インストール手順

まず,全体の流れを確認しておきましょう.一例ですが,以下のような順番でインストールを行うと良いと思います.
なお,情報は2016年6月14日時点のものなので,今後変更があるかもしれません.

  1. OpenCVのインストール
  2. GPUドライバのインストール
  3. CUDAのインストール
  4. cuDNNのインストール
  5. Caffeのインストール

※以上の手順はCaffeの公式サイトを参考にしました.不明な点があれば公式サイトを参照してください.

1.OpenCVのインストール

Caffeを使うにはOepnCVが必要です.OpenCV2がデフォルトと書いていますが,せっかくなので最新のOpenCV3.1を入れましょう.
デフォルトはOpenCV2ですが,OpenCV3.1でも設定ファイルをほんの少し変えるだけで(後述)問題なく動作するように設計されています.

Caffeの公式サイトにOpenCVのインストール手順が書いてありますので,それを参考にしました.

まずは関連する諸々のソフトをダウンロードします.

次に公式サイトからOpenCV 3.1をダウンロードします.

OpenCV Download
http://opencv.org/downloads.html

ダウンロードしたらunzipで解凍してください.その後,解凍したディレクトリに移動して,以下のようにcmakeでビルドを行っていきます.

次に,makeを使ってインストールを行います.

念のため再起動して下さい.ターミナルで’pkg-config –cflags opencv’, ‘pkg-config –libs opencv’と入力して,きちんと参照できていればインストール成功です.

2.GPUドライバのインストール

まずはGPUドライバのインストールを行います.

デスクトップ画面右上の「設定(歯車マーク)」→「システム設定」→「詳細」を開きます.

ここで「グラフィック」の欄に正しい型番が表示されていれば何もしなくてOKです.

私の場合は表示されていなかったのでインストールを行います.

インストールと言っても簡単なもので,

「システム設定」→「ソフトウェアとアップデート」→「追加のドライバー」

で所望のドライバを選択し,変更の適用をクリックするだけです.

もし「追加のドライバー」で表示されなければ,公式サイトからドライバをダウンロードして,手動インストールしてください.

3.CUDAのインストール

次にCUDAをインストールします.CUDAやcuDNNを使用することで学習のスピードが向上するそうです.

Caffe公式サイトによるとGCC5(UbuntuのデフォルトGCCコンパイラはGCC5)とCUDA7.5ではMakeプロセスが失敗するとのことなので,CUDA8.0RCをインストールします.

GCC4を使う方法もあるそうですが,ここは公式サイトに従います.

まずは以下のURLからインストーラをダウンロードします.(無料ですが簡単な登録が必要です.)

Cuda Toolkit 8.0 Release Candidate Downloads
https://developer.nvidia.com/cuda-release-candidate-download

登録が完了するとOSなどを指定する画面が表示されますので,以下のように選択します.

cuda8rc

ここでポイントがあります.インストーラのタイプは”deb”を選択してください.

あるサイトを参考にしてrunファイルでやっていたのですが,Nouveauを無効にしたりするので面倒なのと,インストール終了後にリブートをすると正常に起動しなくなり,Ubuntu自体を再インストールする羽目になりました...

debを使うとエラーもなくスムーズに進んだのでdebを使うことをおすすめします.

ダウンロードが完了したら,ターミナルで以下のように入力してインストールは完了です.

4.cuDNNのインストール

以下の公式サイトからダウンロードします.

cuDNN Download
https://developer.nvidia.com/cudnn

CUDAをダウンロードするときに登録したアカウントでログインし,規約に同意するとバージョンを選択する画面が表示されます.

ここではCUDAのバージョンに合わせて「cuDNN v5 for CUDA 8.0 RC」を選択します.

ダウンロードしたら以下のように解凍してファイルを所定のディレクトリにコピーするだけでインストール完了です.

5.Caffeのインストール

いよいよCaffeをインストールします.

まずは公式サイトを参考にインストールのために必要なパッケージをインストールします.

公式サイトでは最後にOpenCVをインストールしていますが,先ほど手動でOpenCV3.1をインストールしたので,これだけでOKです.

次に,主役のCaffeのzipファイルをダウンロードします.

Caffeダウンロードサイト
https://github.com/BVLC/caffe

Caffeを任意の場所にunzipで解凍します.解凍したあとは解凍したディレクトリに移動し,サンプルの設定ファイルをコピー,設定を行います.

コピーしたMakefile.configを編集して設定を行うわけですが,以下のように変更します.

OPENCV_VERSION := 3 (コメントを外す)

PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include (パスの追加)

WITH_PYTHON_LAYER := 1 (コメントを外す)

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial (パスの追加)

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial (パスの追加)

これで設定ファイルの編集は終了です.

さらにインストール時のエラーを解消するために以下のようなコマンドを入力します.

ここまで問題なく出来たら,caffeのディレクトリに移動してください.その後,以下のように入力します.

ここまで来たらインストールの準備が完了です!

以下のコマンドでインストールを行いましょう.

エラーが起きなければ無事完了です.

もしエラーが起きてしまった場合は公式サイトを参照してください.

Caffe公式サイト
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

 - Caffe, Ubuntu, 機械学習 , , , , , , ,