[画風を変換するアルゴリズム]
(https://research.preferred.jp/2015/09/chainer-gogh/)
が公開された。
機械学習にもpythonにも不慣れだが、とにかく動かしてみたい人も多いだろう。
そこで、手抜きの補足記事を書く。
[mattya/chainer-gogh]
(https://github.com/mattya/chainer-gogh)
###chainer-gogh.pyのインストール
右上にある
[download zip]
から上記GitHubのデータを全て取得する。それを展開し、
この中にあるchainer-gogh.pyを記事に書かれているように引数を与えてコマンドラインから実行すれば、Linux, Windows, MacOSXのどれからでも実行が可能です。
chainer-gogh.pyを実行する前に、chainerをインストールする必要があって
pipというツールを用います。pipがインストールしてあれば、OSの種類によらず
以下のコマンドで、chainerがインストールされます。
>pip install chainer
###そもそも、pythonが入っていないという人は
Windowsの場合には,
Python(x,y)
http://python-xy.github.io/
を入れておく。
Python単体のインストーラでは、numpyやmatplotlibなどのライブラリがないので、追加でインストールするものが増えてしまうので、Python(x,y)を入れるのを推奨する。
Ubuntuの場合だと apt-get, MacOSXの場合だとhomebrewを使って必要なライブラリをインストールしておく。
MacOSXの人は、ぜひ他のMacOSXのユーザーの記事で、Python2.7をインストールする記事を読んでおくことを勧めます。MacOSXに元々入っているpythonと新たにいれたいPython2.7とでPythonの環境がぶつからないようにすることを事前に調べておくのがよいかと思います。pyenv なども調べておいた方が良いかもしれません。(MacOSXユーザーではないのでちゃんとしたことが書けなくてすみません。)
pipが環境にインストールされているかどうかは、コンソールで
>pip --help
と入力して使い方が表示されるようだったら、
>pip install chainer
が実行可能です。
###pipのインストール
もし、そうでなかったら、pipのインストールをします。
(pipのインストールについては各OSごとに記事があるので検索してください。)
Python for Windows インストールメモhttp://www.aoki.ecei.tohoku.ac.jp/~ito/python_windows.html
によれば
setuptools (easy_install)
> python ez_setup.py
> easy_install pip
の2段階のインストールになるようです。
(既に自分のPCには自分でインストールしていましたが、手順は忘れてしまっていた。)
VirtualBox上のubuntuで実行すると次の状況だった。
VirtualBox:~$ pip
プログラム 'pip' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt-get install python-pip
とインストール方法を示してくれた。そこで
>sudo apt-get install python-pip
と実行するとpipがインストールされた。
続いて
>sudo pip install chainer
としてインストールが実行された。
###chainer-goghの実行
>pip install chainer
が済んだあとならば、
CPU実行であれば次のようにして、実行できます。
input.png style.png は
とりあえず、
sample_images/cat.png
sample_images/style_0.png
をコピーして用いてみました。
>python chainer-gogh.py -i input.png -s style.png -o output.png -g -1
途中結果がoutput.pngのディレクトリに表示されるので
気長にみています。
CPU実行は、シングルコアの処理ですので、1日かかっても終わらないという具合です。
GPUの設定をして、GPU版の実行をしたいところです。
###付記:インストール作業をするときには管理者権限で実行してください。
Windowsの場合だと、[スタートメニュー]
から[コマンドプロンプト]を選ぶ際に右クリックして[管理者権限で実行]をします。
apt-getの場合には
sudo apt-get
として管理者権限で実行します。
CPU版で実行させる範囲においてはPythonの関係が全て32bit版でも動作していました。
GPUを使おうとするためには、以下のことを考慮して環境を作り直す必要がありそうです。
・OS:64bit版
・Pythonのビルドは(64bitか32bit)?
・Cudaのバージョンと(64bitか32bitか)
・numpy他
###追記:エラー発生時
IOError: [Errno 2] No such file or directory: 'nin_imagenet.caffemodel'
https://gist.github.com/mavenlin/d802a5849de39225bcc6
以下のサイトからnin_imagenet.caffemodel ファイルを入手して、実行ディレクトリにおきました。
caffemodel_url: https://www.dropbox.com/s/0cidxafrb2wuwxw/nin_imagenet.caffemodel?dl=1
Chainer モデルをダウンロード
のNINでみつけました。
###追記:別データで動作
後日、chainer-goghを別データで動作させてみた。前に動作させたときに比べ、処理の数字が増えていくのが速い。処理データによる違いなのか、一度計算した後で、次に処理するのが速くなる何か計算済みのキャッシュが働くのか、まだ調べていない。シングルCPUで遅いと思っている人でも、まずは動かしてみることです。
###追記:「Chainerチュートリアル -v1.5向け- ViEW2015」
「Chainerチュートリアル -v1.5向け- ViEW2015」がslideshareで公開されています。
Cython言語を使うようになっている。
開発者による記事 画風を変換するアルゴリズム