caffeインストールことはじめ
佐野研二郎の作品すべてをdeep learningで似たものを探してみたくなったので勉強し始めました(大嘘)。
◯参考サイトhogehuga.com
まぁこれが全てですね。今からのは全部これの二番煎じです。
ただ、ごく最近boot2dockerはdeprecatedになったんでかわりにtoolboxを入れます。
https://www.docker.com/toolboxからパッケージをダウンロードしてダブルクリックでインストーラが起動。
なんか2つ入りましたね。KitematicってのはGUIのdockerクライアントっぽいですね。貧弱そうだけど。このquickstartのほうを実行するとdefaultっていうmachineを作ってくれるので実行してください。
$ docker --version ### Docker version 1.8.1, build d12ea79
こうなればインストール成功です。
で次。
https://hub.docker.com/r/tleyden5iwx/caffe-cpu-master/
dockerのイメージです。説明書きを読むとelastic-thought用とか書いてあります。たいそうな名前ですね。
あとcaffeはCPUとGPUの区別があるようで、このあたりはちょっとゆるふわウェブエンジニアなんでよくわかんないですけど、今回はCPU版を使ってます。本来の画像処理の最大スペックはGPUを使わないと出ないみたい。
でelastic-thoughtってなんですかって話だけど
まぁ並列処理+REST APIを提供してくれるっぽいですね。ただまぁバリバリ開発中みたいないい振りなのにコミットログ見る限りホントに真剣に作ってるんですねかね・・・。GoとcouchbaseとNSQに依存してるのでさっきのイメージにはこれらも入ってます。
であとは
$ eval "$(docker-machine env default)" $ docker pull tleyden5iwx/caffe-cpu-master Using default tag: latest Pulling repository docker.io/tleyden5iwx/caffe-cpu-master 2f197f385434: Pulling dependent layers 511136ea3c5a: Download complete fa4fd76b09ce: Download complete 1c8294cc5160: Download complete 117ee323aaa9: Download complete 2d24f826cb16: Download complete 41fe8deda82d: Download complete 899381004fb3: Download complete 43440a7c2178: Download complete (省略) $ docker run -it tleyden5iwx/caffe-cpu-master:latest $ ls bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var # つながった
dockerコマンドのオプションはこちら。d.hatena.ne.jp
あとは
$ cd /opt/caffe/data/mnist Resolving yann.lecun.com (yann.lecun.com)... 128.122.47.89 Connecting to yann.lecun.com (yann.lecun.com)|128.122.47.89|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 9912422 (9.5M) [application/x-gzip] Saving to: 'train-images-idx3-ubyte.gz' (省略) 2015-08-19 10:48:07 (24.9 KB/s) - 't10k-labels-idx1-ubyte.gz' saved [4542/4542] Unzipping... Done. $ cd /opt/caffe $ sed -i 's/solver_mode: GPU/solver_mode: CPU/' lenet_solver.prototxt $ cd ../../ $ ./examples/mnist/create_mnist.sh Creating lmdb... libdc1394 error: Failed to initialize libdc1394 #エラーだけど問題ないっぽい libdc1394 error: Failed to initialize libdc1394 Done. $ ./examples/mnist/train_lenet.sh I0819 11:06:49.711024 35 solver.cpp:222] Solving LeNet I0819 11:06:49.711029 35 solver.cpp:223] Learning Rate Policy: inv I0819 11:06:49.711036 35 solver.cpp:266] Iteration 0, Testing net (#0) I0819 11:06:54.686012 35 solver.cpp:315] Test net output #0: accuracy = 0.099 I0819 11:06:54.686597 35 solver.cpp:315] Test net output #1: loss = 2.30267 (* 1 = 2.30267 loss) I0819 11:06:54.774317 35 solver.cpp:189] Iteration 0, loss = 2.30193 I0819 11:06:54.774936 35 solver.cpp:204] Train net output #0: loss = 2.30193 (* 1 = 2.30193 loss) I0819 11:06:54.775529 35 solver.cpp:470] Iteration 0, lr = 0.01 (中略) I0819 11:22:28.516336 35 solver.cpp:266] Iteration 10000, Testing net (#0) I0819 11:22:33.465322 35 solver.cpp:315] Test net output #0: accuracy = 0.9906 I0819 11:22:33.465761 35 solver.cpp:315] Test net output #1: loss = 0.0288935 (* 1 = 0.0288935 loss) I0819 11:22:33.465998 35 solver.cpp:253] Optimization Done. I0819 11:22:33.466039 35 caffe.cpp:121] Optimization Done.
最適化が完了したっぽいけどさっぱり意味がわからない。この続きはまた今度。