トップページ -> コンピュータ実習 -> 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 のインストール

git のインストール

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

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

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

(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(旧バージョン)のインストール

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

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

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

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

    mkvirtualenv tf1
    lsvirtualenv 
    

  4. TenforFlow 1 のインストール

    このとき,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 を使いたいとき

    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 で,コマンドプロンプトを管理者として実行

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

    workon tf1
    

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

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

  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
    

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q moviepy
    

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


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

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

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

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

    workon tf1
    

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

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

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


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

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

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

    workon tf1
    

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

    時間がかかるので待つ.

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

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

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

    C:\pytools\DCGAN-tensorflowdata

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

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

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

    workon tf1
    

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

    時間がかかるので待つ.

    cd C:\pytools\DCGAN-tensorflow
    python main.py --dataset celebA --input_height=108 --train --crop
    

  4. 学習の終了の確認

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

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

    tensorborard --logdir .
    

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

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

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

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

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

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

    workon tf1
    

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

    時間がかかるので待つ.

    python main.py --dataset mnist --input_height=28 --output_height=28 --train
    

  4. 学習の終了の確認

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

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

    tensorborard --logdir .
    

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

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

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