LoginSignup
6
5

More than 5 years have passed since last update.

Docker上でCaffeを動かす時にハマったこと

Last updated at Posted at 2016-08-10

Caffeの環境をUbuntu上に用意するように書籍に書かれていますが、手間がかかるためDocker上で動作させます。その際にハマったことを紹介します。

DockerとKitematicをインストールします。
DockerHubのアカウントを作ります。

そして検索ウィンドウにUbuntu14.04 Caffeなどと打ち込みます。(またはcuda-caffe)
そうすると↓2kというのがあります。これは2000ダウンロードされていることを意味します。
2000ダウンロードされているので信用できると判断できるので、CREATEボタンを押します。

スクリーンショット 2016-08-10 19.11.50.png

そうするとイメージがダウンロードされると以下のような画面になります。

docker-cuda.png

execボタンを押すとターミナルが起動しますので。
bashを起動させた方が入力しやすいので、terminal上でbashと入力すると補完が効くようになります。

起動するとcaffeのフォルダの中にいるはずです。
pwdと打って確認してみてください。

そのあとに

cp Makefile.config.example Makefile.config

を実行してください。

g++-4.6も必要になるのでインストールします。

sudo apt-get install g++-4.6

次にviだと入力しづらいのでvimをインストールします。

sudo apt-get install vim
vim Makefile.config

そして、以下の行を編集します。行はバラバラに記述しているので、それぞれ / + 検索ワード (スラッシュバー + 検索したい文字)で検索してください。

CUSTOM_CXX := g++ //修正前
CUSTOM_CXX := g++-4.6 //修正後

# CPU_ONLY := 1 //修正前
CPU_ONLY := 1 //修正後、コメントアウトを外す

そして

make 
make test 
make runtest

これで最終的にPASSEDという文字が出れば完了です。

次にMNISTのサンプルを動かします。

./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh

//MNISTの学習を実行 (ここでエラーになる)
./examples/mnist/train_lenet.sh

私の環境では最後の./examples/mnist/train_lenet.shで上手くいかなくなりました。

less ./examples/mnist/train_lenet.sh

と入力して確認するとlenet_solver.prototxtを実行していることがわかります。

lenet_solver.prototxt

# solver mode: CPU or GPU
solver_mode: GPU //修正前

# solver mode: CPU or GPU
solver_mode: CPU //修正後、GPUをCPUにする

最後にMNISTの学習を実行します。

//MNISTの学習を実行
./examples/mnist/train_lenet.sh

これで私の環境では上手くいきました。

参考書籍
初めてのディープラーニング オープンソース"Caffe"による演習付き
著者 武井宏将
ISBN 978-4-86594-022-0

6
5
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
6
5