トップページ -> データベース研究スタート -> TensorFlow のインストールおよびその応用例 -> pix2pix を動かしてみる
[サイトマップへ]  

pix2pix を動かしてみる

公開されたソフトウエア,データを使い,Windows で pix2pix を動かしてみます. Python, TensorFlow を使います. 先人に感謝.

キーワード: pix2pix, Python, Windows インストール

参考Webページ: affinelayer/pix2pix-tensorflow のページ, https://github.com/affinelayer/pix2pix-tensorflow

このWebページでは,pix2pix の Python 版が公開されているとともに,次のような 5種類のデータセットが公開されている.


前準備

前準備として,Anaconda のインストール, Anaconda での新しい Python 環境の作成,TensorFlow バージョン 1.2 のインストールが終わっていること. 手順を下に説明しています.

Anaconda のインストール

Python 3 の開発環境である Anacondaをおすすめ.Window でのインストール手順は次の通りです(Linuxでも同様の手順です).

  1. https://www.continuum.io/downloads#windowsを開く

  2. Download」をクリックする.

  3. ダウンロードが始まるので確認する.

  4. ダウンロードした .exe ファイルを実行して,Anacondaをインストール.

Anaconda での新しい Python 環境の作成

pix2pix を動かすのに,新しいPython環境があった方が便利です.

  1. コマンドプロンプトを管理者として実行そして,次のコマンドを実行.

    ※ 「--name tf」のところに書く名前「tf」は何でもいいですが,あとで思い出しやすい分かりやすい名前がいいです.

    conda create --name tf python anaconda
    

  2. 「Proceed ([y]/n)?」のように表示されたときは y, Enter キー

  3. 終了の確認

    エラーメッセージが出ていないことを確認

Python 環境の有効化と全パッケージの更新

  1. コマンドプロンプトを管理者として実行

  2. 先ほど作成した Python 環境有効化

    ※ (Anaconda や Miniconda を使っていないときは conda がないので pip で代用),

    activate tf
    

  3. インストール済みパッケージの更新.

    コマンドプロンプトで、次のコマンドを実行

    conda update -y --all
    

  4. 終了の確認

    エラーメッセージが出ていないことを確認

tensorflow のインストール

次の2択

以上2つの詳細な手順は、「TenforFlow 1.5 のインストール」のページに載せています


pix2pixのインストール

  1. affinelayer/pix2pix-tensorflow の Web ページを開く

    https://github.com/affinelayer/pix2pix-tensorflow

  2. Clone or download」を展開し, 「Download ZIP」をクリック

  3. .zip ファイルがダウンロードされるので確認する.

  4. ダウンロードした .zip ファイルを展開(解凍)する.分かりやすいディレクトリに置く.

    ※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.

    この .zip ファイルは,E:\pix2pix-tensorflow-master\pix2pix-tensorflow-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.

  5. コマンドプロンプトを開く

  6. コマンドプロンプトで,先ほど作成した「新しいPython環境」を使うように設定
    activate tf
    

  7. コマンドプロンプトで,カレントディレクトリを,先ほど「展開(解凍)したディレクトリ」に移動

    実行手順例

    E: 
    cd E:\pix2pix-tensorflow-master\pix2pix-tensorflow-master
    

  8. データのダウンロード操作

    コマンドプロンプトで,次のコマンドを実行.

    affinelayer/pix2pix-tensorflow の Web ページ に記載の通り行う.

    python tools\download-dataset.py facades
    

  9. facades の下の train と test にたくさんの画像ファイルがダウンロードされたことを確認する.

  10. モデルのトレーニングを行う操作

    ※ これも,affinelayer/pix2pix-tensorflow の Web ページ に記載の通り行う.

    # train the model (this may take 1-8 hours depending on GPU, on CPU you will be waiting for a bit)
    python pix2pix.py --mode train --output_dir facades_train --max_epochs 100 --input_dir facades\train  --which_direction BtoA
    

    BtoA について

    「--which_direction BtoA」と指定したので, 「右側」のような画像をコンピュータに与えたら,「左側」のような画像が生成されるように,モデルのトレーニングを行いなさいという指示になる.

    TensorFlow 1.3 を使うと,次のエラーがでるようである.

  11. 終了の確認

    GPU を使わない場合は,終了まで,かなり待つ.終了したらエラーメッセージが出ていないことを確認する.

    GPU を使うと確かに速い.

    計算を終了したところ.

  12. 学習結果のファイルの確認

    次に,「学習結果の出力先 (--output_dir オプション)」として指定した facades_train に,ファイルができていることを確認する.

  13. 確認のため,学習結果を tensorborard で表示

    次の手順で表示してみる

    1. tensorboard の起動

      コマンドプロンプトで,次のコマンドを実行.

      このとき,起動メッセージに,URLが「http://hoge:6006」のように表示されるので確認する.

      実行手順例

      tensorboard --logdir=facades_train
      

    2. Web ブラウザで、先ほどの URL を開く

    3. GRAPHS」をクリックして確認する

  14. モデルのテストを行う操作

    画像を与えて,新しい画像を作ることで,学習の結果できた「モデル」のテストを行う.

    ※ これも,affinelayer/pix2pix-tensorflow の Web ページ に記載の通り行う.

    # test the model
    python pix2pix.py  --mode test --output_dir facades_test --input_dir facades\val  --checkpoint facades_train
    

    モデルのテストのプログラムは,それほど時間がかからない.終わったら,エラーメッセージが出ていないことを確認する.

    上のコマンドを実行すると,出力先として指定した「facades_test」に ファイルができるので確認する.

    ここにある index.html ファイルを,Web ブラウザで開くと,簡単に結果が確認できる.