トップページ人工知能,実世界DBGAN の応用例DCGANの例、carpedm20/DCGAN-tensorflow を使い,新しい顔を生成してみる

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

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

手順の要点: 前準備として,NVIDIA CUDA 10.0, NVIDIA cuDNN 7.6.5, Python 3.7, TensorFlow 1.15.5 等をインストール.

ソフトウェア等の利用条件等は,利用者で確認すること.

謝辞:ソフトウェアの作者に感謝します.

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

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

前準備

Visual Studio Community 2017 のインストール

NVIDIA CUDA 10.0 は Visual Studio Commnity 2017, 2015, 2013, 2012 と連携して動く機能がある.

NVIDIA CUDA 10.0 のインストールの前に, Visual Studio Commnity 2017 のインストールを行う.

Visual Studio Commnity 2017 のインストールは, https://visualstudio.microsoft.com/ja/vs/older-downloads/ で「2017」を選び,「ダウンロード」をクリック. その後表示されるダウンロードの画面で, 「Visual Studio Commnity 2017」を選ぶ.

Git のインストール

Git のページ https://git-scm.com/ からダウンロードしてインストール:

NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール

GPU は,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある. NVIDIA CUDA ツールキット は,NVIDIA社が提供している GPU 用のプラットフォームである.

インストールの詳細説明

Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール: 別ページで説明している.

NVIDIA ドライバのインストール

インストールの要点

インストールの詳細説明

NVIDIA CUDA ツールキット 10.0, NVIDIA cuDNN 7.6.5 のインストール

インストールの詳細説明

Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 のインストール: 別ページで説明している.

インストールの要点

Python 3.7 64 ビット版のインストール,pip と setuptools の更新

① Python 3.7 64 ビット版のインストール(Windows 上)

インストールの詳細説明

https://www.kkaneko.jp/tools/win/python37.html

インストールでの注意点

インストール手順

Windows での Python 3.7 のインストール(あとのトラブルが起きにくいような手順を定めている)

  1. Python の URL を開く

    URL: https://www.python.org

  2. Windows 版の Python 3.7 をダウンロード

    ページの上の方にある「Downloads」をクリック,「Downloads」の下にメニューが出るので,その中の「Windows」をクリック.

    そして,Python 3.7.x (x は数字)を探す.

    そして,Windows の 64ビット版のインストーラをダウンロードしたいので,「Windows x86-64 executable installer」を選ぶ

    [image]
  3. インストール時の設定
    1. いまダウンロードした .exe ファイルを右クリック, 右クリックメニューで「管理者として実行」を選ぶ.

      [image]
    2. Python ランチャーをインストールするために,「Install launcher for all users (recommended)」をチェック.

      ※ すでに Python ランチャーをインストール済みのときは, 「Install launcher for all users (recommended)」がチェックできないようになっている場合がある.そのときは,チェックせずに進む.

    3. Add Python 3.7 to PATH」をチェック.

      [image]
    4. Customize installation」をクリック.

      [image]
    5. オプションの機能 (Optional Features)は,既定(デフォルト)のままでよい. 「Next」をクリック

      [image]
    6. Install for all users」を選んでおいたほうが,複数人で使えて便利という考え方もある.

      そして,Python のインストールディレクトリは,「C:\Program Files\Python37」のように自動設定されることを確認.

      Install」をクリック

      [image]
    7. Disable path length limit」が表示される場合がある.クリックして,パス長の制限を解除する

      [image]
    8. インストールが終了したら,「Close」をクリック
  4. インストールのあと,Windows のスタートメニューに「Python 3.7」が増えていることを確認.
  5. システムの環境変数 Path の確認のため,新しくコマンドプロンプトを開き,次のコマンドを実行.

    pypipパスが通っていることの確認である.

    where py
    where pip
    

    where py では「C:\Windows\py.exe」 が表示され, where pip では「C:\Program Files\Python37\Scripts\pip.exe」 が表示されることを確認.

② pip と setuptools の更新(Windows 上)

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

    Windowspip を実行するときは,コマンドプロンプト管理者として実行し,それを使って pip を実行することにする.

    コマンドプロンプトを管理者として実行: 別ページで説明している.

  2. 次のコマンドを実行

    py -3.7 -m pip install -U pip setuptools
    

pip は,次のコマンドで起動できる.

TensorFlow 1.15.5, Keras 2.3.1 のインストール

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

py -3.7 -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow-text tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer scipy pandas matplotlib
# TensorFlow 1.15.5 のため numpy, protobuf の古いバージョンを使用.エラーが出にくいと考えられる numpy 1.16.2, protobuf 3.19.4 を使用
py -3.7 -m pip install -U numpy==1.16.2 protobuf==3.19.4 tensorflow-gpu==1.15.5 keras==2.3.1 scipy==1.5.4
py -3.7 -m pip install git+https://github.com/tensorflow/docs
py -3.7 -m pip install git+https://github.com/tensorflow/examples.git
py -3.7 -m pip install git+https://www.github.com/keras-team/keras-contrib.git

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

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

Windows での手順を下に示す.Ubuntu でも同様の手順になる.

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

    [image]
  2. 作業用に c:\do.bat というファイルを作る.

    まず,メモ帳を開く(メモ帳以外のエディタでも問題ない)

    notepad c:\do.bat
    

    [image]

    次のように編集する.

    sed -i "s/import tensorflow as tf/import tensorflow.compat.v1 as tf/g"
    sed -i "s/from tensorflow import/from tensorflow.compat.v1 import"
    sed -i "s/from keras import/from tensorflow.compat.v1.keras import"
    
  3. その他 Python パッケージのインストール

    py -3.7 -m pip install -U numpy==1.16.2 requests tqdm opencv-python imageio moviepy  
    
  4. Pillow (PIL fork by Alex Clark and Contributors) のインストール

    Windows での手順を下に示す.Ubuntu でも同様の手順になる.

    マイクロソフト C++ ビルドツール (Build Tools) がインストール済みであるとして手順を示す

    cd %HOMEPATH%
    git clone https://github.com/python-pillow/Pillow
    cd Pillow
    py -3.7 setup.py build_ext --disable-zlib --disable-jpeg install
    py -3.7 -m pip install pillow==6 --global-option="build_ext" --global-option="--disable-jpeg" --global-option="--disable-zlib"
    
  5. carpedm20/DCGAN-tensorflow のダウンロード

    cd %HOMEPATH%
    rmdir /s /q DCGAN-tensorflow
    

    [image]

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

    [image]
  6. celebA データセットのダウンロード
    1. コマンドプロンプトで次のコマンドを実行.

      mkdir %HOMEPATH%\DCGAN-tensorflow\data
      mkdir %HOMEPATH%\DCGAN-tensorflow\data\celebA
      
    2. http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html を開く
    3. 「Google Drive」をクリック
    4. 「Img」をクリック
    5. img_align_celeba.zip をダウンロード
    6. zip ファイルを展開し %HOMEPATH%\DCGAN-tensorflow\data\celebA の下に置く

    時間がかかるので待つ.

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

    Windows での手順を下に示す.Ubuntu でも同様の手順になる.

    %HOMEPATH%\DCGAN-tensorflowdataCelebA

    [image]

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

Windows での手順を下に示す.Ubuntu でも同様の手順になる.

  1. Windows で,コマンドプロンプトを実行.
  2. celebA データセットを用いて学習

    時間がかかるので待つ.

    cd %HOMEPATH%\DCGAN-tensorflow
    py -3.7 main.py --dataset celebA --input_height=108 --train --crop
    
  3. 学習の終了の確認
  4. tensorboard save/summary を使い、中間結果を確認できる

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

    tensorborard --logdir .
    

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

  5. dcgan の機能を動かしてみる
    py -3.7 main.py --dataset celebA --input_height=108 --crop
    
  6. samples の下に結果があるので確認

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

Windows での手順を下に示す.Ubuntu でも同様の手順になる.

  1. Windows では,コマンドプロンプトを実行.Ubuntu では端末を開く.

    Windows の場合

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

    時間がかかるので待つ.

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

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

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

    tensorborard --logdir .
    

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

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

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

    [image]