pythonは使ってなかったけどPaintsChainerを手元で動かしたい! という、あなたのための記事です。
#始める前に
コマンドラインとかわからん! という向きにも導入して頂きたくWindows 64bit で動くPaintsChainer 環境をまとめてみました。
https://drive.google.com/file/d/0Bxi51MbdWHVhM2pZSi1LNl9XYnc/view
これと同じものをご自分で構築したい! その場合はこの記事を読み進めましょう。
#win10にpython 3.5を入れる
手元の Windows 10 (64bit) にpythonを入れます。
pythonと言ってもいろいろあるのだけど、ここでは公式のpythonを使います。
公式サイト www.python.org からWindows版をダウンロードします。
いろいろ配布されていて迷いますね。私は python-3.5.3-amd64.exe を選択しました。
最新版の3.6でなく3.5を選択したのはblender 2.78に合わせたかったからなのだけど、3.6はnumpy(chainerが使うライブラリ)との相性が良くないみたいです。
ダウンロードしたら実行しましょう。
インストール位置を変更したいので(C:の容量が厳しいので)Customize installationを押します。
オプションを選びます。最初は全部チェックが入っています。私は上記のようにしました。pipとpyは入れましょう。
さらにオプション。ここでは環境変数 (environment variables) にPythonを追加しておきます。インストール位置 (install location) はご自分の環境に合わせて編集しましょう。
黒い画面
おもむろにcmd.exeを実行します。あの黒い画面ですね!
python (py) が応答することを確認しておきましょう。
chainer opencv pillowを入れる
パッケージはpipというコマンドを使って入れます。
入れる必要があるのはchainer(主役)opencv-python(画像処理)そして pillow(画像処理)です。
wheelという仕組みのおかげで公式のpythonでもすんなり入ると思います。
E:\usr\src\PaintsChainer>pip install chainer
Collecting chainer
Downloading chainer-1.20.0.1.tar.gz (1.2MB)
100% |################################| 1.2MB 164kB/s
Collecting filelock (from chainer)
Downloading filelock-2.0.7.tar.gz
Collecting nose (from chainer)
Downloading nose-1.3.7-py3-none-any.whl (154kB)
100% |################################| 163kB 109kB/s
Collecting numpy>=1.9.0 (from chainer)
Downloading numpy-1.12.0-cp35-none-win_amd64.whl (7.7MB)
100% |################################| 7.7MB 61kB/s
Collecting protobuf (from chainer)
Downloading protobuf-3.1.0.post1-py2.py3-none-any.whl (347kB)
100% |################################| 348kB 240kB/s
Collecting six>=1.9.0 (from chainer)
Downloading six-1.10.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools in e:\python35\lib\site-packages (from protobuf->chainer)
Installing collected packages: filelock, nose, numpy, six, protobuf, chainer
Running setup.py install for filelock ... done
Running setup.py install for chainer ... done
Successfully installed chainer-1.20.0.1 filelock-2.0.7 nose-1.3.7 numpy-1.12.0 protobuf-3.1.0.post1 six-1.10.0
E:\usr\src\PaintsChainer>pip install opencv-python
Collecting opencv-python
Downloading opencv_python-3.2.0.6-cp35-cp35m-win_amd64.whl (22.1MB)
100% |################################| 22.1MB 32kB/s
Requirement already satisfied: numpy>=1.11.3 in e:\python35\lib\site-packages (from opencv-python)
Installing collected packages: opencv-python
Successfully installed opencv-python-3.2.0.6
E:\usr\src\PaintsChainer>pip install pillow
Collecting pillow
Downloading Pillow-4.0.0-cp35-cp35m-win_amd64.whl (1.5MB)
100% |################################| 1.5MB 195kB/s
Collecting olefile (from pillow)
Downloading olefile-0.44.zip (74kB)
100% |################################| 81kB 1.7MB/s
Installing collected packages: olefile, pillow
Running setup.py install for olefile ... done
Successfully installed olefile-0.44 pillow-4.0.0
E:\usr\src\PaintsChainer>pip list --format=columns
Package Version
------------- -----------
chainer 1.20.0.1
filelock 2.0.7
nose 1.3.7
numpy 1.12.0
olefile 0.44
opencv-python 3.2.0.6
Pillow 4.0.0
pip 9.0.1
protobuf 3.1.0.post1
setuptools 28.8.0
six 1.10.0
すごいぞpip!
#PaintsChainerをCPUで動かす
NVIDIAのGPUがない環境ではCUDAが動かないので(AMDのでも頑張れば動くらしい…)CPUで動かします。
CPUを使うにはWebサーバを起動するときに -g -1 と指定します。
E:\usr\src\PaintsChainer>py server.py -g -1
GPU: -1
start
load model
serving at localhost : 8000
あとは http://localhost:8000/static をブラウザで開くと見慣れた画面になります!
#動くけど色がおかしい場合
実行結果の画像は作られるけど色がおかしくなる(赤と青のチャンネルが入れ替わる)場合はBGRをRGBに書き換える必要があります(計5箇所)。
in cgi_exe.py:
change cv2.COLOR_YUV2BGR to cv2.COLOR_YUV2RGB
in img2imgDataset.py:
change cv2.COLOR_BGR2YUV to cv2.COLOR_RGB2YUV
opencvのバージョンによるらしいのだけど、よくわかりません。
いづれにしても、手元で動くのは感動ものなので、お試しあれ。サーバが手元にあると、いちいち保存しなくて済むのも良い。