トップページ -> データベース研究スタート -> 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. コマンドプロンプトを管理者として実行

  2. 新しい Python 環境を作る.

    新しいPython 環境を作りたい.今のコマンドプロンプトで,次のコマンドを実行

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

    conda create --name py27 python=2.7 anaconda
    

  3. ※ 「Proceed ([y]/n)?」と表示されたら, y + Enter で続行する.「反応が遅いなあ」と思ったら、Enter キーを押してみる.

  4. インストール終了の確認

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

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

    ※ Linux の場合には,端末を開く(pyenvを使っているときは pip の実行に管理者権限を必要としない)

  2. 先ほど作成した Python 環境有効化
    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 ブラウザで開くと,簡単に結果が確認できる.