トップページ -> 最新情報技術の実習と研究ツール -> TensorFlow のインストールおよびその応用例 -> ZZUTK/Face-Aging-CAAE を使い Face Aging を行ってみる(書きかけ)
[サイトマップへ]  

ZZUTK/Face-Aging-CAAE を使い Face Aging を行ってみる(書きかけ)

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

先人に感謝

参考文献: http://web.eecs.utk.edu/~zzhang61/docs/papers/2017_CVPR_Age.pdf

GitHub の ZZUTK/Face-Aging-CAAE の Webページ: https://github.com/ZZUTK/Face-Aging-CAAE

キーワード:CAAE, Face Aging, Python


前準備

Anaconda, git のインストール

前準備として,Python 開発環境のAnaconda, git のインストールが終わっていること.

Microsoft Build Tools のインストール

Windows で Microsoft Build Tools for Visual Studio 2017 のインストール(Chocolatey を利用)」で説明しています


隔離された Python 環境の作成

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

  2. Windows のコマンドプロンプトを実行する.

  3. 隔離された Python 環境を作成する

    次のコマンドを実行

    conda create -n tf
    

  4. Python 環境が作成できたことを確認
    conda info -e 
    

これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3名前は tf)の共存ができた。


新規作成された Python 環境で、インストールの前準備を行う

いま作成した Python 環境で、パッケージの更新などの前準備を行う

  1. Windows で、コマンドプロンプトを実行

  2. Python 環境(名前は tf)を有効にする

    次のコマンドを実行

    ※ 「activate tf 」は Python 環境(名前はtf)を有効にするためのコマンド(各自の環境の名前にあわせること

    activate tf 
    

    「Could not find conda environment: tf」というメッセージが出たときは、 上に説明した手順で、隔離された Python 環境の作成(名前は tf)を行う.

  3. Anaconda の conda パッケージの更新、古い conda パッケージファイルの削除

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作(エラーメッセージが出たとしても無視してください).

    conda config --remove channels conda-forge
    
    conda upgrade --all
    
    conda clean --packages
    

    (途中省略)

    (途中省略)

  4. conda の動作確認

    エラーメッセージが出ないことを確認

    conda info
    

これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3名前は tf)の共存ができた。


新規作成された Python 環境で、インストールの前準備を行う

いま作成した Python 環境で、パッケージの更新などの前準備を行う

  1. Windows で、コマンドプロンプトを実行

  2. Python 環境(名前は tf)を有効にする

    次のコマンドを実行

    ※ 「activate tf 」は Python 環境(名前はtf)を有効にするためのコマンド(各自の環境の名前にあわせること

    activate tf 
    

    「Could not find conda environment: tf」というメッセージが出たときは、 上に説明した手順で、隔離された Python 環境の作成(名前は tf)を行う.

  3. Anaconda の conda パッケージの更新、古い conda パッケージファイルの削除

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作(エラーメッセージが出たとしても無視してください).

    conda config --remove channels conda-forge
    
    conda upgrade --all
    
    conda clean --packages
    

    (途中省略)

    (途中省略)

  4. conda の動作確認

    エラーメッセージが出ないことを確認

    conda info
    

ZZUTK/Face-Aging-CAAE のための Python パッケージをインストールする


新規作成された Python 環境で、インストールの前準備を行う

いま作成した Python 環境で、パッケージの更新などの前準備を行う

  1. Windows で、コマンドプロンプトを実行

  2. Python 環境(名前は tf)を有効にする

    次のコマンドを実行

    ※ 「activate tf 」は Python 環境(名前はtf)を有効にするためのコマンド(各自の環境の名前にあわせること

    activate tf 
    

    「Could not find conda environment: tf」というメッセージが出たときは、 上に説明した手順で、隔離された Python 環境の作成(名前は tf)を行う.

  3. Anaconda の conda パッケージの更新、古い conda パッケージファイルの削除

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作(エラーメッセージが出たとしても無視してください).

    conda config --remove channels conda-forge
    
    conda upgrade --all
    
    conda clean --packages
    

    (途中省略)

    (途中省略)

  4. conda の動作確認

    エラーメッセージが出ないことを確認

    conda info
    

ZZUTK/Face-Aging-CAAE のための Python パッケージをインストールする

いま作成した Python 環境に、種々の Python パッケージをインストールする

  1. Windows でコマンドプロンプトを実行

  2. Python 環境(名前は tf)を有効にする

    次のコマンドを実行

    activate tf 
    

  3. TensorFlow をインストールしたいので、次のコマンドを実行

    時間がかかるので待つ

    conda install -y tensorflow 
    

  4. その他のパッケージのインストール
    conda install -y spyder numpy scipy pillow
    

  5. (オプション) TenforFlow GPU 版のインストール

    ※ 動作には、 CUDA Compute Capability 3.0 は以上に適合するグラフィックスカード、NVIDIA グラフィックスカードのドライバのインストールが必要です

    1. NVIDIA グラフィックスカード・ドライバのインストール

      Windows で NVIDIA グラフィックスカード・ドライバのインストール」で説明しています

    2. NVIDIA CUDA ツールキットのインストール

      Windows で NVIDIA CUDA ツールキットのインストール」で説明しています

    3. tensorflow-gpu 及び関連のconda パッケージのインストール

      conda install -y cudnn cudatoolkit tensorflow-gpu 
      

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

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

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

  2. Python 環境(名前は tf)を有効にする

    activate tf 
    

    「Could not find conda environment: tf」というメッセージが出たときは、 上に説明した手順で、隔離された Python 環境の作成(名前は tf)を行う.

  3. Face-Aging-CAAE のインストール

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q Face-Aging-CAAE
    

    git clone https://github.com/ZZUTK/Face-Aging-CAAE 
    cd Face-Aging-CAAE
    

ソースコードの書き換え

Python 3 で動くように書きかえ

  1. Windows でコマンドプロンプトを実行

  2. 2to3 を使う

    cd c:\pytools
    cd Face-Aging-CAAE
    2to3 -w . 
    

Windows で動くように書きかえ

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

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

    書き換え前

    書き換え後

    301 行目.同じように,「/」を「\\」に書き換え.

    書き換え前

    書き換え後

    356 行目.同じように,「/」を「\\」に書き換え.

    書き換え前

    書き換え後

    378 行目.同じように,「/」を「\\」に書き換え.

    書き換え前

    書き換え後


UTKFace (Large Scale Face Dataset) のダウンロードと展開(解凍)

UTKFace (Large Scale Face Dataset) は,顔画像のデータセット

ここでは、Aligned & Cropped Faces」データファイルを選ぶ GitHub の ZZUTK/Face-Aging-CAAE の配布サイト(https://github.com/ZZUTK/Face-Aging-CAAE)にそのことが説明されている.

  1. Web ブラウザで次の URL を開く

    https://susanqq.github.io/UTKFace/

  2. Aligned & Cropped Faces」データファイルを選んでみる

  3. UTKFace.tar.gz」を選ぶ

    別の方は使わない.

  4. メニューで「Download」を選ぶ

  5. ダウンロードしたいので,「DOWNLOAD ANYWAY」をクリック

  6. ダウンロードが始まるので確認する.

  7. ダウンロードしたファイルを展開(解凍)する.

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

    tar.gz 形式ファイルを 7-Zip で展開(解凍)すると tar 形式ファイルができ, tar 形式ファイルを 7-Zip で展開(解凍)すると,画像ファイルの入ったディレクトリが得られる.

  8. 展開(解凍)してできたディレクトリ UTKFace を確認する.

  9. ディレクトリ UTKFace の下に多数の顔画像ファイルがあることを確認する.

  10. C:\face-image のような作業用のディレクトリ(フォルダ)を作る

  11. ディレクトリ UTKFace を, C:\face-image のような作業用のディレクトリ(フォルダ)のに移動

  12. ディレクトリ UTKFace の下に多数の顔画像ファイルがあることを確認する.

学習

  1. C:\pytools\Face-Aging-CAAE の下の dataを開いて、「save_data_folder_here.txt」というファイルがあることを確認する

  2. 先ほどダウンロードした C:\face-image\UTKFace をまるごと、このdataの直下にコピー

    コピーが終わると,次のようになるので確認(ここで間違うと次に進めない)

  3. コマンドプロンプトを開く

  4. Python 環境(名前は tf)を有効にする

    次のコマンドを実行

    activate tf 
    

  5. 新しくコマンドプロンプトを開き,先ほど展開したディレクトリに移動.

    C:\pytools\Face-Aging-CAAE に展開(解凍)した場合には次のように操作する

    cd C:\pytools\Face-Aging-CAAE
    

  6. main.py の実行
    python main.py
    

    下の図のように「Epoch ...」と表示されれれば,学習は始まっている.

    ※ これは,顔画像を使っての学習を行っている.TensorFlow を利用している. 数分ほど待って,「エラーメッセージが出て止まっている」ことがないことを確認.

    次のように「Missing parentheses in call to 'print'」についてのエラーが出ている場合には, このウェブページの前の方で書いた「2to3 -w ...」についての作業を忘れている可能性がある.

    次のようなエラーが出る場合には、 C:\pytools\Face-Aging-CAAE の下の dataの下に、正しく顔データが置かれていない可能性がある

  7. 終了の確認

  8. save/summary の下に,中間結果が保存されている.次のコマンドにより確認できる.
    cd save/summary
    tensorborard --logdir .
    

  9. テスト

    imagedir」のような名前でディレクトリを作り(名前は何でも良いがわかりやすい名前が良い)、 そこに .jpg ファイルを 10 個以上おき、次のコマンドを実行する.

    python main.py --is_train False --testdir imagedir 
    

    (書きかけ)