A Deep Learning Framework: Caffe リンク集
Caffeは昨今流行りのディープラーニングのフレームワークの1つです。
Caffe | Deep Learning Framework
有名な他のフレームワークとして、ChainerやTensorflowというものがあります。
Caffeの特徴は学習済みのモデルが多数配布されていること、教師データのデータベースの作成がとても簡単(例えば画像データ群と、画像へのパスとカテゴリの列挙されたテキストデータがあればOK)であるということです。
管理者権限の無いリモートのCentOS6マシンでビルドおよびPython Bindingを利用するに当たって、かなり手こずりました。以下の記事を参考にしました。
ディープラーニングライブラリBVLC/Caffeを管理者権限rootなしでインストールした時のメモ集 - Qiita
僕の場合は、すでに管理者権限でインストールされたものが多く
・Anacondaのインストール+要求モジュールをpipで導入
・Anacondaのpythonの実行バイナリを指定してBoostライブラリをビルド
・Makefile.configを書く(CMakeは使わない)
の、だいたい3ステップでできました。
PythonはAnacondaを用いました。僕は自力で頑張りましたが、OSのPythonやライブラリ群とコンフリクトしないようにconda+pyenvを使うのが良いらしいです。
データサイエンティストを目指す人のpython環境構築 2016 - Qiita
3D-FCNを用いた論文手法をCaffeで実装するというタスクに取り組んでいます。Caffeは割と画像処理に特化しているので高次元のCNNについては情報が少ないです。またバージョンによって仕様が変わることも多いでしょう。
参照しているページを列挙します。
N次元の畳み込みは実装されているようです。
ND convolution with im2col by jeffdonahue · Pull Request #2049 · BVLC/caffe · GitHub
任意次元の教師データにはHDF5形式を用いる必要がある(?)ようです。
Caffeの3D-CNNを使ったダミーデータの学習 - Qiita
損失関数の形が特殊なので自作のPython Layerを書いています。
caffe/pyloss.py at master · BVLC/caffe · GitHub
Python implementation of softmax loss layer · Issue #4023 · BVLC/caffe · GitHub
既存のレイヤーの組み合わせで書けるかもしれないので要調査。