2016年2月3日水曜日

HerokuでChainerを動かそうとして成功したときのメモ

ChainerをHerokuで動かして成功したのでそのメモ。


Google App Engineでは、GAEにプリインストールされているnumpyのバージョンや.soファイルを利用したpythonライブラリのデプロイ制限などのために上手く動かなかったが、Herokuでは無事に動いた。

1. Chainerのバージョンは1.5.1以降で

Herokuでは基本的にpipでインストールできるものは、何でも利用できるようでGoogle App Engineよりも自由度が高い。

ただし、Herokuの環境ではlibhdf5-devなどのh5pyのインストールに必要な開発モジュールが入ってないようで、h5pyだけはインストールできなかった。

幸運なことにChainer 1.5.1からはh5pyがオプショナルになっていたようで、これは大きな問題にならなかった。

githubを見ても特に変更の理由はわからないが、もしこのような事態を想定して変更してたのならば、開発者たちの慧眼は賞賛ものである。


2. その他の環境

下記のバージョンを利用。

Flask==0.10.1

numpy==1.9.2

six ==1.9.0

chainer==1.6.0


またデフォルトでは2系のpythonを3系に変更するためにruntime.txtに下記のように書く。なお、Chainerは2.7にも対応しているので、2系のままでもたぶん動くが未検証。

python-3.4.0

3. ソースコード



0 件のコメント:

コメントを投稿