トップページ -> コンピュータ実習 -> TensorFlow のインストールおよびその応用例 -> pix2pix を動かしてみる
[サイトマップへ], [サイト内検索へ],

pix2pix を動かしてみる

サイト構成 連絡先,業績など コンピュータ実習 データの扱い コンピュータ設定 教材(公開) サポートページ

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

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

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


前準備

Python, virtualenv のインストール

git のインストール

以下,Windows に Python, virtualenv, git をインストール済みであるものとして説明を続ける.

(GPU を使うときに限り) NVIDIA グラフィックスカード・ドライバのインストール

GPU 版の TensorFlow を使うには, CUDA Compute Capability 3.5 以上に適合するグラフィックスカード、NVIDIA グラフィックスカードのドライバのインストールが必要である.

Windows でのインストール手順は,「別のページ」で説明している

(GPU を使うときに限り) NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストール

GPU 版の TensorFlow を使うときについては,次のページに記載がある.

https://www.tensorflow.org/install/gpu#pip_package

隔離された Python 環境の新規作成と,TensorFlow 1.15(旧バージョン)のインストール

  1. 今から作成するPython 環境の名前と、Pythonのバージョンを決めておく

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

  3. virtualenv隔離された Python 環境新規作成し,有効化

    下の例では,Python 環境名をtf1に設定している

    mkvirtualenv tf1
    lsvirtualenv 
    

  4. TenforFlow 1.15 のインストール

    このとき,virtualenv のPython 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前)

    ※ 「pip install」は,Python パッケージをインストールするためのコマンド

    ※ Windows で,「python」の代わりに,「py」(Windows のPythonランチャー)を使うと,Anaconda 3 内の Python が実行されることはない(Anaconda を使いたくないときは「py」)

    workon tf1
    py -m pip install --upgrade pip
    pip install -U tensorflow==1.15
    

    GPU版の TensorFlow を使いたいとき

    ※ TensorFlow 1.15 では CPU 版と GPU版が 1つのパッケージに統合されている.

    GPU 版 TensorFlow 1.15 を使うために,https://developer.nvidia.com/cuda-10.0-download-archiveから CUDA 10.0 を入手し,インストールしておくこと

    そして,https://developer.nvidia.com/cudnn から cuDNN を入手し,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 などに展開(解凍)し,パスを通しておくこと


pix2pixのインストール

謝辞:https://github.com/affinelayer/pix2pix-tensorflow で公開されている著作物を利用している

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

  2. virtualenv のPython 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

    workon tf1
    

  3. 以前に,このWebページの手順で,pix2pixをインストールしたことがあれば次の手順で消去

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q pix2pix-tensorflow
    

  4. pix2pixのインストール

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

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

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

    cd c:\pytools\pix2pix-tensorflow
    python tools\download-dataset.py facades
    

  6. c:\pytools\pix2pix-tensorflow\facades の下の train と test にたくさんの画像ファイルがダウンロードされたことを確認する.

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

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

    ※ GPU のときは数時間.CPUのときはさらに時間がかかる.

    python pix2pix.py --mode train --output_dir facades_train --max_epochs 100 --input_dir facades\train  --which_direction BtoA
    

    BtoA について

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

  8. 終了の確認

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

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

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

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

    次の手順で表示してみる

    1. tensorboard の起動

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

      実行手順例

      tensorboard --logdir=facades_train
      

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

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


モデルのテスト

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

  1. 画像を準備し,facades\val ディレクトリに置く

  2. 次のコマンドを実行
    python pix2pix.py  --mode test --output_dir facades_test --input_dir facades\val  --checkpoint facades_train
    

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

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

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