トップページ -> データベース研究スタート -> TensorFlow のインストールおよびその応用例 -> carpedm20/DCGAN-tensorflow を使い,新しい顔を生成してみる
[サイトマップへ]  

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

キーワード:DCGFAN, TensorFlow, Python


前準備

前準備として,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をインストール.

    Python処理系にはいくつかの種類がある. この Web ページでは Anaconda をおすすめしている. 以下,Windows に Anacondaをインストールしたものとして説明を続ける.

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

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

  6. まずは,最新の conda-build パッケージが欲しい.今のコマンドプロンプトで,次のコマンドを実行

    conda install -y conda-build
    

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

  7. conda が更新されたので,コマンドプロンプトをいったん閉じる

  8. 再び,コマンドプロンプトを管理者として実行

  9. コマンドプロンプトで,次のコマンドを実行

    conda update -y pip
    conda update -y setuptools
    conda update -y conda
    conda update -y conda-build
    

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

Anaconda での新しい Python 3.5 環境の作成

carpedm20/DCGAN-tensorflow を動かすのに,新しい Python 環境があった方が便利.

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

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

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

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

    conda create --name py35 python=3.5 anaconda
    

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

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

これで、元からインストールされていた Python と,新しく作成した Python バージョン3.5 という、違うバージョンの Python が共存できた。

動作に必要となる Python パッケージのインストール

次の手順で,Anaconda の Python 3.5 環境に 動作に必要となる Python パッケージをインストールします.

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

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

  2. 今のコマンドプロンプトで,次のコマンドを実行

    ※ Anaconda や Miniconda を使っていないときは conda コマンドがないので pip コマンドを使ってください

    activate py35
    conda install scipy
    conda install pillow
    conda install -c conda-forge moviepy
    conda install -c conda-forge tensorflow=0.12
    

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


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

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

ここでの作業に使っているディレクトリ:

  1. ダウンロードしたいので,GitHub の carpedm20/DCGAN-tensorflow の Web ページを開く.

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

  2. 「Clone or download」を展開.「Download ZIP」をクリック

  3. carpedm20/DCGAN-tensorflow で公開されているプログラム の .zip ファイルがダウンロードされるので確認する.

    ファイル名: DCGAN-tensorflow-master.zip

  4. ダウンロードした .zip ファイルを展開(解凍)し,分かりやすいディレクトリに置く.

    ※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.

    この .zip ファイルは,D:\DCGAN-tensorflow-master\DCGAN-tensorflow-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.

  5. Windows で動かしたい ので, エディタを使い,model.py を書き替えて保存.

    77 行目.「/」を「\\」に書き換え.

    書き換え前

    書き換え後

    155 行目.「/」を「\\」に書き換え.

    書き換え前

    書き換え後

    454 行目.「/」を「\\」に書き換え.

    書き換え前

    書き換え後

  6. 新しくコマンドプロンプトを開く

  7. 今のコマンドプロンプトで,次のコマンドを実行し,Python 3.5環境に切り替える. そして,先ほど展開したディレクトリに移動.

    D:\DCGAN-tensorflow-master\DCGAN-tensorflow-master に展開(解凍)した場合には次のように操作する

    activate py35
    D:
    cd D:\DCGAN-tensorflow-master\DCGAN-tensorflow-master
    

  8. MNIST と celebA データセットのダウンロード

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

    python download.py mnist celebA
    

  9. MNIST データセットの展開(解凍)

    D:\DCGAN-tensorflow-master\DCGAN-tensorflow-masterdata にデータファイルがある.ファイルを展開(解凍)する.

    ※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.

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

  11. Anaconda プロンプトで,次のように実行
    python main.py --dataset celebA --input_height=108 --train --crop
    python main.py --dataset celebA --input_height=108 --crop
    

    まず,トレーニングを行う.時間がかかるので待つ.

以下,書きかけ

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