EnsekiTT Blog

EnsekiTTが書くブログです。

Ubuntu16.04にPix2Pixをインストールした話

つまりなにしたの

pix2pixを使って論文で見たような素敵なことが起きるのか自分のマシンで試してみた。

環境

OS :Ubuntu16.04
CPU :i7-6700 3.40GHz
MEM :16Gbyte
GPU :GTX1070 GDDR5/8GB
CUDA :V8.0.44
cuDNN :5.1.05
Python : 3.5.2

参考にしたサイト

github.com

環境の準備

前回Torchのインストールをふまえて
Ubuntu16.04にTorch7をインストールした話 - EnsekiTT Blog

$ luarocks install nngraph
$ luarocks install https://raw.githubusercontent.com/szym/display/master/display-scm-0.rockspec

Torchと同じディレクトリにCloneしてくる

$ git clone git@github.com:phillipi/pix2pix.git
$ cd pix2pix

データセットを用意する。

facadesは窓とか壁を色分けして塗った図と実際の写真を並べたもの。

$ bash ./datasets/download_dataset.sh facades

モデルを学習する(GPUの場合→2時間ちょっと)

$ DATA_ROOT=./datasets/facades name=facades_generation which_direction=BtoA th train.lua

モデルを学習する(CPUの場合→全然進まないので諦めた)

DATA_ROOT=./datasets/facades name=facades_generation which_direction=BtoA gpu=0 cudnn=0 batchSize=10 save_epoch_freq=5 th train.lua

学習中の状態を見る

別のコンソールで実行

$ th -ldisplay.start 8000 0.0.0.0

ブラウザからここにアクセスすると

http://localhost:8000

こんなのが見られる↓
f:id:ensekitt:20170125225245p:plain

さっくり動きすぎて拍子抜けしたけれども、できた。
ここから本格的に自分でやって見たいことのためのデータセット集めが始まると思うとさっくりでも何でもない。

データセットを観察

CMP Facade Database
にいろいろと書いてあるけど、データ数はどうも違うみたいなので、実際にダウンロードされたファイルを観察して、
自前で用意するめどをつける。

ディレクトリは3つ
train, test, val
それぞれ、学習用、テスト用、検証用。
f:id:ensekitt:20170125230132j:plain
こんなのが、
学習用:400枚
テスト用:106枚
検証用: 100枚
の600枚くらい用意されている。
幅:512
高さ:256
なので、実写と抽象表現はそれぞれ256x256だった。
直接画像を眺めてみると手前に人がいたり車が止まってたりして、そこそこノイズがある。