video-caffe

makeする際、cuda-8.0を指定すると下記エラー。Makefile.config見ても特に変更すべき箇所がない。

fatal error: cudnn.h: No such file or directory

仕方なく、Makefile.configのCUDAのパスをcuda-7.0にしてmake all -j8。するとビルドできた・・・。Caffeはcuda-7.0対応だからまあいいとしてcuDNNのバージョンはどうなっとるのか?

cuDNNのバージョンについてはvideo-caffeは4と5までは動作するとか配布元が明言しているものの、cuDNNがver5のときはエラー吐いて止まることもあるとフォーラムに書いてある・・・。学習時の最初の一回目でエラーが起きなければそのあと問題がないのだけれど・・・ちゃんと計算できているのか不安すぎる。cuDNN4だとエラーが起きないらしい。今度ビルドしようと思っているマシンのcuda-7.0以下で

/usr/local/cuda-7.0/include/cudnn.h

の中のMajorの部分がcuDNNの利用バージョンらしい。みたら4となっていたので今度のマシンは、いちおう大丈夫そう。

たまにエラー吐く現在のマシンのバージョンを確認したところcuda8のcuDNN5だった。オフィシャルで動作確認されてないやつやん・・・。というか、現在のマシンのMakefile.configを流用して新しいマシンでのmake失敗しているが、片方はcuda8なのにビルドできるっていったいどゆこと??? と思ったら新しいマシンの

/usr/local/cuda/include/
/usr/local/cuda-8.0/include/

のどちらにもにcudnn.hがなかった。インストールしてないのかよ・・・(初期セットアップは別の人orz)。

ひとまず、新しいマシンの方で現行マシンとおなじ計算して様子を見てみないことには何とも言えない。もーcafeやめようよーkerasにしようよーめんどくせーし信用できねーよー(平野耕太風)。


で、新しいマシンで実行したら以下のエラー。

error while loading shared libraries: libcudart.so.7.0: cannot open shared object file: No such file or directory make: 

というわけでパスを通す。パスが通っているのは/usr/local/cuda/ だけだった。バージョン管理どうなってんだろうこのマシン・・・。

export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-7.0/bin:$PATH