トップページ -> データベース関連技術 -> GAN の応用例 -> DCGANの例、carpedm20/DCGAN-tensorflow を使い,新しい顔を生成してみる
[サイトマップへ], [サイト内検索へ]

DCGANの例、carpedm20/DCGAN-tensorflow を使い,新しい顔を生成してみる

carpedm20/DCGAN-tensorflow は,GitHub で公開されているソフトウエアで, Age Progression/Regression by Conditional Adversarial Autoencoder (DCGAN) を 実装したもの.

先人に感謝

DCGAN (Deep Convolutional Generative Adversarial Networks) の参考文献情報: https://arxiv.org/abs/1511.06434

GitHub の carpedm20/DCGAN-tensorflow の Webページ: https://github.com/carpedm20/DCGAN-tensorflow


前準備

Python のインストール

virtualenv, virtualenv-wrapper のインストール

git のインストール

(Windows を使う場合のみ)MSVC ビルドツール (Build Tools) のインストール

Windows で MSVC ビルドツール (Build Tools) for Visual Studio 2017 のインストール(Chocolatey を利用)」で説明している.

以下,Windows に Python, git, MSVC ビルドツール (Build Tools) をインストール済みであるものとして説明を続ける.

(NVIDIA GPU を使うとき)NVIDIA グラフィックスボード・ドライバ,NVIDIA CUDA ツールキットのインストール

次のページの手順により,インストールを行う

参考Webページ:

(NVIDIA GPU を使うとき)NVIDIA cuDNN のインストール

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

インストールの要点:https://developer.nvidia.com/cudnn から cuDNN を入手し,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1 などに展開(解凍)し,パスを通しておくこと

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

  1. 今から作成する隔離された Python 仮想環境の名前と、Pythonのバージョンを決めておく
  2. Windows で,コマンドプロンプトを実行.
  3. virtualenv隔離された Python 仮想環境新規作成し,有効化

    下の例では,隔離された Python 仮想環境の名前をtf1に設定している

    mkvirtualenv tf1
    lsvirtualenv 
    

    [image]
  4. TenforFlow 1 のインストール

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

    ※ 「py」は,Windows のPythonランチャーAnaconda 3 内の Python などを間違って使ってしまわないように,Pythonランチャーを使って Python を起動している.Ubuntu では「py」でなく「python3」コマンドを使う.

    ※ 「py -m pip install」は,Python パッケージをインストールするための操作. Ubuntu では,「py -m pip install」の代わりに「pip3 install ...」のように操作すること.

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

    [image]

    GPU版の TensorFlow を使いたいとき

    GPU 版 TensorFlow を使うために,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 などに展開(解凍)し,パスを通しておくこと

その他 Python パッケージのインストール

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

    [image]
  2. virtualenv の隔離された Python 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

    workon tf1
    

    [image]
  3. Python パッケージのインストール操作

    pip install -U numpy scipy requests tqdm
    pip install -U opencv-python
    

    [image]
  4. Pillow (PIL fork by Alex Clark and Contributors) のインストール

    MSVC ビルドツール (Build Tools) がインストール済みであるとして手順を示す

    cd c:\pytools
    git clone https://github.com/python-pillow/Pillow
    cd Pillow
    python setup.py build_ext --disable-zlib --disable-jpeg install
    pip install pillow==6 --global-option="build_ext" --global-option="--disable-jpeg" --global-option="--disable-zlib"
    

  5. (オプション) moviepyのインストール

    MSVC ビルドツール (Build Tools) がインストール済みであるとして手順を示す

    pip install -U imageio
    

    [image]
    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q moviepy
    

    [image]

    cd c:\pytools
    git clone https://github.com/Zulko/moviepy
    cd moviepy
    python setup.py build
    python setup.py install 
    

    [image]

    プログラムのダウンロードと展開(解凍)

    GitHub の carpedm20/DCGAN-tensorflow の配布サイト(https://github.com/carpedm20/DCGAN-tensorflow)で公開されている プログラムを,ダウンロードし展開(解凍)する.

    1. Windows で,コマンドプロンプトを管理者として実行
    2. virtualenv の隔離された Python 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

      workon tf1
      

      [image]
    3. carpedm20/DCGAN-tensorflow のダウンロード

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

      [image]

      git clone https://github.com/carpedm20/DCGAN-tensorflow
      

      [image]

      celebA データセットのダウンロードと展開(解凍)

      1. Windows で,コマンドプロンプトを管理者として実行
      2. virtualenv の隔離された Python 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

        workon tf1
        

        [image]
      3. celebA データセットのダウンロード

        時間がかかるので待つ.

        ※ GitHub の carpedm20/DCGAN-tensorflow の配布サイト(https://github.com/carpedm20/DCGAN-tensorflow)の説明通り

        cd C:\pytools\DCGAN-tensorflow
        python download.py celebA
        

        [image]
      4. celebA データセットの確認

        C:\pytools\DCGAN-tensorflowdata

        [image]

      celebA データセットを使って動かしてみる

      1. Windows で,コマンドプロンプトを管理者として実行
      2. virtualenv の隔離された Python 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

        workon tf1
        

        [image]
      3. celebA データセットを用いて学習

        時間がかかるので待つ.

        cd C:\pytools\DCGAN-tensorflow
        python main.py --dataset celebA --input_height=108 --train --crop
        
      4. 学習の終了の確認

        [image]
      5. tensorboard save/summary を使い、中間結果を確認できる

        端末で,次のコマンドを実行.

        tensorborard --logdir .
        

        Web ブラウザで http://localhost:6006 を開く

        [image]
      6. dcgan の機能を動かしてみる
        python main.py --dataset celebA --input_height=108 --crop
        

        [image]
      7. samples の下に結果があるので確認

        [image]

        MNIST データセットを使って動かしてみる

        1. Windows で,コマンドプロンプトを管理者として実行
        2. virtualenv の隔離された Python 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

          workon tf1
          

          [image]
        3. MNIST データセットを用いて学習

          時間がかかるので待つ.

          python main.py --dataset mnist --input_height=28 --output_height=28 --train
          
        4. 学習の終了の確認

          [image]
        5. tensorboard save/summary を使い、中間結果を確認できる

          端末で,次のコマンドを実行.

          tensorborard --logdir .
          

          Web ブラウザで http://localhost:6006 を開く

          [image]
        6. dcgan の機能を動かしてみる
          python main.py --dataset mnist --input_height=28 --output_height=28
          

          [image]
        7. samples の下に結果があるので確認

          [image]

        本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

        問い合わせ先: 金子邦彦(かねこ くにひこ) [image]