Ubuntu14.04 のクリーンインストールからchainer-goghを実行して、芸術的な猫を描くまで

概要

Ubuntu14.04をクリーンインストールするところから、CUDAやChainerをインストールした。 chainer-goghが正しく動作することを確認し、芸術的な猫を描いた。

以下のものをインストールする。

  • Ubuntu 14.04
  • cuda-7.5
  • chainer(-cuda-deps)

(2015/12/26 追記)

あまりに適当だったので環境の構築を書き直した。 Ubuntu14.04での自分的環境構築をちゃんと書く - やったことの説明


CUDAのインストール

インストールに関して、主にこちらの記事を参考にした。 クリーンインストールした Ubuntu14.04 に環境構築 (2)

とりあえず、今後のことを考えてディレクトリを英語にする。

LANG=C xdg-user-dirs-gtk-update

色々インストールする。

$ sudo apt-get  update
$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev  libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev linux-headers-`uname -r`
$ sudo lshw -short -class display
$ sudo apt-get remove --purge nvidia*
$ mkdir cuda
$ cd cuda/

NVIDIAのサイトからCUDAの最新版とグラボのドライバをダウンロードして色々やる。

$ chmod +x cuda_7.0.28_linux.run
$ chmod +x NVIDIA-Linux-x86_64-352.41.run
$ sudo nano /etc/modprobe.d/blacklist-nouveau.conf
$ echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
$ sudo update-initramfs -u

再起動して、Ctrl+Alt+F1を押してCUIに入る。 そのままではグラボのドライバをインストールできないので、以下をする。

$ sudo service lightdm stop

グラボのドライバをインストールする。

$ chmod +x NVIDIA-Linux-x86_64-352.41.run

そのままCUDAをインストールする。

$ chmod +x cuda_7.0.28_linux.run

.bashrcなり.zshrcなりに環境変数を書いて、CUDAのインストールは終わり。

chainerのインストール

ささっとchainerをインストールする。Caffeと違って非常に簡単にインストールできた。

$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo pip install chainer
$ sudo visudo -> secure pathをコメントアウト
$ sudo pip install chainer-cuda-deps

ここまでで、すでにchainerでプログラムが動く。すごい。 chainerのテストのために、こちら をダウンロードする。解説はこちら。 中身は一般物体認識で学習させたCNNを使って、絵の画風を変換するというもの。 詳細は解説記事の方を見てほしい。すごい。

$ sudo apt-get install git
$ git clone https://github.com/mattya/chainer-gogh.git
$ cd chainer-gogh

vgg model fileもダウンロードしておく。

実行

手元のマシン(GTX-750Ti)では、メモリが足らず、256x256の画像を生成することができなかったので、画像サイズは128x128にした。 入力画像として可愛い猫の画像を使う。 f:id:ksknw:20150920205050p:plain かわいい。

スタイル画像はもともとのものを使わせてもらう。

実行結果

f:id:ksknw:20150920205043p:plain f:id:ksknw:20150920205103p:plain f:id:ksknw:20150920205113p:plain f:id:ksknw:20150920205116p:plain

左がスタイル画像、右が生成画像。 簡単に芸術的な猫を描くことが出来ました。 かわいいね!

参考