docker
Caffe

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に書きました。

あとがき

とりあえずインストールだけです。
使ってみた話については後日書くようにします。

参考