How to install and use the chainer-gogh
2015年9月に公開された画風を変換するアルゴリズム「chainer-gogh」をインストールして使ってみました。https://github.com/mattya/chainer-gogh
使い方までの手順をまとめてみました。
環境
- CUDAコア数が48、動作周波数が900HMzのNVIDIAグラフィックスを搭載したノートPC
- 64bit版 Ubuntu Linux 15.10
CUDA Toolkitが使えるLinux PCを用意する
CUDAはNVIDIA製の一部のグラフィックスに搭載される並列演算に特化した機能です。CUDA ToolkitはCUDAの機能を利用するための開発環境です。
chainer-goghはCUDA Toolkitを利用すると高速に処理できます。
今回はchainer-goghをCygwinやホストOSがWindowsのVirtualBoxで実行したのですが、このブログを書いている時点ではどちらもCUDA Toolkitが利用できず、画像1枚変換するのに90時間ほどかかりそうでした。
そこでUSBメモリードライブにUbuntu 15.10をインストールして使いました。
必要な環境をインストールする
Ubuntu 15.10でchainer-goghを使えるようにするまでインストールするものが沢山ありました。すべて端末からインストールしました。
グラフィックスドライバーをインストールする
システム設定 - ソフトウェアとアップデート - 追加のドライバーから検証済みのドライバーをインストールしました。
NVIDIA純正のドライバーは
- インストール時にX Serverを停止する必要がある
- インストール後にOSが起動しない
また、Ubuntu 16.04では検証済みのドライバーのインストール後にX-Windowでログインできなくなるトラブルがありました。
CUDA Toolkit をインストールする
インストール後は次の環境変数の設定が必要です。~/.bachrc に追記しておくと端末起動時に自動で設定されます。
cuDNNに対応していればインストールする
cuDNNはCUDAの処理を最適化をする機械学習用ライブラリーです。Accelerated Computing Developer Programにユーザー登録するとダウンロードできます。
cuDNNが使えればchainer-goghの高速化が期待できますが、今回はPCが対応してなかったので使えませんでした。
GCC4.9ををインストールする
Ubuntu 15.10はGCC5がインストールされていますが、ChainerフレームワークのインストールにはGCC4.9が必要でした。Pythonのライブラリー群をインストールする
下記のコマンドだと不要なものもあるかもしれませんが、必要なものが欠けてると何もできないのでまとめてインストールします。Chainerフレームワークをインストールする
次のコマンドを実行して何も表示されなければCUDAが使えます。
このコマンドを実行して
ImportError: No module named cupy
と表示されるようならCUDA Toolkitがインストールされてないか環境変数が正しく設定されてません。
CUDA ToolkitがインストールしてChainerフレームワークをインストールをインストールし直してください。
gitをインストールする
chainer-goghと学習モデルをインストールする
学習モデルは作者曰く「お手軽」のものを使いました。これで必要な環境が揃ったはずです。
使い方
ホームディレクトリに変換したい画像 input.png
画風スタイルの画像 style.png
がある場合、次のコマンドで変換できます。
処理中はホームディレクトリに img_・・・・.png という画像ファイルが作られます。
im_04950.png が完成です。下が完成の画像です。
所要時間は次の通りでした。
- CPUのみで推定90時間
- CUDAで約45分
- cuDNNは未対応なので検証不可
白地が多い画像は苦手のようです。
トラブルシューティング
実行したらCUDAに対応していなかった (cannot import name core)
CUDAを使わずに実行するcuDNNをインストールしたらcuDNNに未対応で実行できない (CUDNN_STATUS_ARCH_MISMATCH)
環境変数のcuDNNのパス設定を削除してChainerフレームワークを再インストールする。Chainerフレームワークを再インストールする方法
GCCを元に戻す方法
関連ブログ
Android4.0をVmwareやVirtualBoxで起動するWindows8をVirtualBoxにインストールする
[Blender] Pythonで複数の設定を一瞬で編集する方法
以上、参考になれば幸いです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。