LoginSignup
3
3

More than 5 years have passed since last update.

WindowsでLet's DeepLearning! (VS2013+caffe+CUDA7.5+cudnn5.1)

Posted at

WindowsでもDeepLearningがやりたい

DeepLearningのフレームワークといえば、CaffeやTensorflow、Chainerなどが有名ですが、これらはWindowsをサポートしていないものが多く、これまでUbuntuで環境構築をしていました。(ChainerはWindowsでも動きます)
でもやっぱりWindowsでもやりたい。
というわけでCaffeをWindowsでできないかと試行錯誤した結果、なんとかビルドできたので記しておきます。

といっても特に難しいことはなく、Windows版のCaffeは公式のページからGithubのレポジトリへのリンクがあるので、そのREADMEに従えばビルドできます。
https://github.com/Microsoft/caffe

ただ上の手順だと、cudnn3あるいはcudnn4じゃないといけなかったり、詳細な説明がなかったり…

自分はcudnn5.1が使いたいので、CaffeのWindowsブランチをForkしてcuDNNv5向けに変更を加えたリポジトリを使います。
変更箇所は以下の通りです。

・include\caffe\layers\cudnn_relu_layer.hpp
・include\caffe\layers\cudnn_sigmoid_layer.hpp
・include\caffe\layers\cudnn_tanh_layer.hpp
・include\caffe\util\cudnn.hpp
・src\caffe\layers\cudnn_conv_layer.cu
・src\caffe\layers\cudnn_relu_layer.cu
・src\caffe\layers\cudnn_relu_layer.cpp
・src\caffe\layers\cudnn_sigmoid_layer.cu
・src\caffe\layers\cudnn_sigmoid_layer.cpp
・src\caffe\layers\cudnn_tanh_layer.cu
・src\caffe\layers\cudnn_tanh_layer.cpp

実行環境

  • Windows10
  • VisualStudio2013 (2015はCUDAが対応していないためできません)
  • CUDA7.5
  • cudnn5.1 (v3やv4でも良い)
  • Python2.7 (自分はanacondaで)

準備

リポジトリのクローン(場所はお任せします)
Windows版のブランチをダウンロードします。

git clone -b windows https://github.com/yuzsh/caffe.git

caffeのルートディレクトリに移動して、プロパティファイルをコピーしておく。

cd caffe
copy .\windows\CommonSettings.props.example .\windows\CommonSettings.props

各種ライブラリのインストール方法は省略しますが、
CUDAやcudnnはNVIDIAの公式ページからインストールしてください。
PythonはAnacondaを使うと便利です。

またPythonモジュールで、numpy、scipy、matplotlib、scikit-image、protobufが必要となるのでインストールが必要です。自分は以下のようにしました。

activate anaconda2
conda install -y numpy scipy matplotlib scikit-image pip
pip install protobuf

CommonSettings.propsの編集

.\windows\CommonSettings.propsを開きます。VisualStudioで開くと見やすいでしょう。
確認するところは、

CommonSettings.props
<CpuOnlyBuild>false</CpuOnlyBuild> //デフォルトはfalse GPU使えない人はtrueに
<UseCuDNN>true</UseCuDNN> //デフォルトはtrue GPU使えない人やなくてもいい人はfalseに
<CudaVersion>7.5</CudaVersion> //CUDAのバージョン
<PythonSupport>true</PythonSupport>  //Python使うのでtrueに デフォルトはfalse
<MatlabSupport>false</MatlabSupport>  //Matlab使うか 今回使わないのでfalse(デフォルト)
<CudaArchitecture></CudaArchitecture>  //デフォルトではいろいろ書いてあるけど、最近のアーキテクチャ使ってる人は空に(GTX1080など)
<CuDnnPath> path to your cudnn </CuDnnPath> //$(CuDnnPath)\cuda\include となるように
<PythonDir>C:\Anaconda3\envs\anaconda2</PythonDir>  //Pythonのパス

ちなみにDebugモードのときはPythonはfalseにしないとPython27_d.libがないためエラーになります。

これが終わったら、今度はプロジェクトの設定で「警告をエラーとして扱う:No」に変更するのですが、自分のリポジトリをクローンした場合はすでにやってあるので大丈夫かと思います。

ビルド

あとはcaffe.slnファイルを開いて、ソリューションのビルド。
結構時間かかります。
ビルドが無事完了すると、Build\x64\Release(またはBuild\x64\Debug)に、exeとdllが作成されます。

PATHの設定

環境変数PYTHONPATHに<caffe_root>\Build\x64\Release\pycaffeを追加します。
ちなみにwindowsでの環境変数の取り扱いは、RapidEEが便利です。

動作確認

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

補足ですが、MNISTなどのサンプルはシェルスクリプトで書かれているため、これを実行できる環境やソフトを準備する必要があります。
自分はgitを入れるときに設定していました。

以上となります。
Ubuntuよりも簡単にできた気がします。

ちなみにchainerはpip install chainerだけでインストールできます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3