Posted at

Dockerを使ってMacOSX環境でCaffeの実行環境を作る

More than 1 year has passed since last update.


■背景

今更だけど、Deeplearningとかやりたいよね。


環境整備メンドイよね。という訳で、誰かDockerで配布していないかなと考えた次第。

私はDocker使うの初めてです。


■やること


  1. VirtualBoxをインストールする

  2. Dockerをインストールする

  3. Docker indexから良い感じのイメージを探す

  4. Dockerの環境を作る

  5. Caffeが入ったdocker-imageをダウンロードする

  6. Dockerイメージからコンテナを動かす

  7. 動かす


1. VirtualBoxをインストールする

公式サイトからダウンロードしてインストールして下さい。

https://www.virtualbox.org/wiki/Downloads


2. Dockerをインストールする

Homebrewでインストールしました。他の環境は知りません。

$ brew install docker


3. Docker indexから良い感じのイメージを探す

Caffeが動くやつなら何でも良いのでテキトウに選ぶ。今回はこれにした。

https://hub.docker.com/r/kaixhin/caffe/


4. Dockerの環境を作る

Caffeが入ったDockerイメージをダウンロードしようとすると、下のように失敗する。

$ docker pull kaixhin/caffe

Using default tag: latest
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

MacOSXにはLinuxカーネルが無いからVMを配置する必要があるからとのこと。

以下のコマンドでカーネルを引っ張ってくる必要がある。

$ docker-machine create --driver virtualbox default


5. Caffeが入ったdocker-imageをダウンロードする

今度こそdocker pullでイメージを持ってくる。

$ docker pull kaixhin/caffe


6. Dockerイメージからコンテナを動かす

普通にDockerのイメージを使ってUbuntuを起動するだけ。

caffeと名前を付けた。

$ docker run --name caffe -i -t kaixhin/caffe /bin/bash


7. 動かす

Pythonのターミナルから、Caffeのimportを試してみる。

$ python

Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe

下のようなエラーが出て来るが問題無いらしい。

他にもmatplotlibがどうとか出てくるけど、2回目にはなくなります。

libdc1394 error: Failed to initialize libdc1394

一応、以下のコマンドで修正可能出来ます。

$ sudo ln /dev/null /dev/raw1394

dockerのコンテナを起動する度に毎回やる必要があって面倒なので、私は.bashrcに書きました。


あとがき

とりあえずインストールだけです。

使ってみた話については後日書くようにします。


参考