いつもの作業の備忘録

作業を忘れがちな自分のためのブログ

【Caffe】Windows7にCaffeをインストール

Windows環境でCaffeを利用できるようにする。基本的にはダウンロードしたCaffeのREADME.mdをそのままなぞっている。面倒なライブラリ周りをあまり気にしなくてよくなっているのでUbuntuより簡単かもしれない。

1.Visual Studio 2013をインストール

今回は Community 2013 を利用。最初、2015でも試してみたが後の CUDA 7.5 のインストール時に2015はサポートしていないと警告が出たので諦めた。以下のサイトからインストーラーをダウンロードし、実行。時間がかかる。
Downloads | Visual Studio Official Site

2.CUDA 7.5をインストール

次項でダウンロードするCaffeでCUDA 7.5がデフォルト設定になっていたのでそれに従ってCUDA 7.5をインストール。以下のサイトからインストーラーをダウンロードし、実行。ダウンロードに時間がかかる。
CUDA 8.0 Downloads | NVIDIA Developer

3.Caffeのソースをダウンロード

以下のサイトからCaffeのソース(ZIPファイル)をダウンロードし、適当なところに解凍。解凍して得られるcaffe-masterのフォルダを以降、<CAFFE_HOME>とする。
https://github.com/BVLC/caffe/tree/windows

4.CuDNN v4をダウンロード

以下のサイトからCuDNN v4をダウンロード。以前書いた通り、事前にDeveloper登録が必要。
NVIDIA cuDNN | NVIDIA Developer

解凍して生まれるcudaフォルダを<CAFFE_HOME>直下に配置

5.Minicondaインストール

以下のサイトからMinicondaをダウンロードし、EXE実行でインストール。Python 2.7のWindows 64bit向けを選択する。
Miniconda — Conda

コマンドプロンプトを立ち上げ、以下のコマンドで必要なライブラリをインストール

> conda install --yes numpy scipy matplotlib scikit-image pip
> pip install protobuf

6.ビルド設定ファイルを編集

<CAFFE_HOME>/windows/CommonSettings.props.exampleをコピーしCommonSettings.propsを作成する。さらにその内容を以下の通り変更する(2か所)。これで先ほどのCuDNNの読み込みと、Minicondaの利用が可能になる。

CommonSettings.props

[変更前]
<!-- CuDNN 3 and 4 are supported -->
        <CuDnnPath></CuDnnPath>
        <ScriptsDir>$(SolutionDir)\scripts</ScriptsDir>
:
:
<PythonSupport>false</PythonSupport>


[変更後]
<!-- CuDNN 3 and 4 are supported -->
        <CuDnnPath>$(SolutionDir)\..</CuDnnPath>
        <ScriptsDir>$(SolutionDir)\scripts</ScriptsDir>
:
:
<PythonSupport>true</PythonSupport>

7.ビルド実行

Caffe.slnを立ち上げてビルドの準備を行う。以下の手順で各プロジェクトファイルの設定を変更。Debug、Release両方のモードで変更することを忘れずに。

  • プロジェクトを右クリックでプロパティ表示
  • [構成プロパティ]→[C/C++]→[一般]→[警告をエラーとして扱う] を確認
  • YesになっているのでNoに変更

※通常、そのままビルドを実行すればいいはずだが、私の環境ではコードページ932にふさわしくない文字が含まれるという警告が出た。ソースを確認すると、コメントのところのようだったので無視しても問題ないと判断した。

8.パスの設定

pycaffeにパスを通す。<CAFFE_HOME>\Build\x64\Release\pycaffe\caffeフォルダを<python_root>\lib\site-packagesフォルダにコピー。

※<python_root>はMinicondaインストール時にできるC:\Minicondaフォルダ(あるいはAnacondaフォルダ)を指定。
※ちなみにコマンドプロンプトで実行できるEXEが <CAFFE_HOME>\Build\x64\Release に生成されている。

9.動作確認

コマンドプロンプトを開き、pythonを立ち上げ、import caffe がエラーなく通ればインストール完了。また、<CAFFE_HOME>\Build\x64\Releaseに移動してcaffe.exeを実行して使い方のメッセージが表示されれば問題なくEXEが生成されていることが確認できる。


実は、必要なライブラリ群のインストールはVisual Studioでのビルド時にインストールされている。NuGetというライブラリのパッケージ管理システムが自動で必要なライブラリを判定しインストールしているという仕組み。

ここまでできればModel Zooから落としてきたモデルを実行することも可能となっていた(VGG16の物体認識モデルの動作確認済み)。