DCGANの例、carpedm20/DCGAN-tensorflow を使い,新しい顔を生成してみる
手順の要点: 前準備として,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
前準備
Python 3.7 のインストール(Windows 上) [クリックして展開]
以下のいずれかの方法で Python 3.7 をインストールする。Python がインストール済みの場合、この手順は不要である。
方法1:winget によるインストール
管理者権限のコマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。
winget install -e --id Python.Python.3.7 --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 AssociateFiles=1 InstallLauncherAllUsers=1"
--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。
方法2:インストーラーによるインストール
- Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。
インストールの確認
コマンドプロンプトで以下を実行する。
python --version
バージョン番号(例:Python 3.7.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。
Git のインストール(Windows 上) [クリックして展開]
管理者権限のコマンドプロンプトで以下を実行する.管理者権限は,winget の --scope machine オプションでシステム全体にインストールするために必要となる.
REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS=""icons,ext\reg\shellhere,assoc,assoc_sh"" /o:PathOption=Cmd /o:CRLFOption=CRLFCommitAsIs /o:BashTerminalOption=MinTTY /o:DefaultBranchOption=main /o:EditorOption=VIM /o:SSHOption=OpenSSH /o:UseCredentialManager=Enabled /o:PerformanceTweaksFSCache=Enabled /o:EnableSymlinks=Disabled /o:EnableFSMonitor=Disabled"
TensorFlow 1.15.5, Keras 2.3.1 のインストール
C:\venv\py37\Scripts\activate.bat
python -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow-intel tensorflow-text tensorflow-estimator 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 を使用
python -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
プログラムのダウンロードと展開(解凍),celebA データセットのダウンロードと展開(解凍)
GitHub の carpedm20/DCGAN-tensorflow の配布サイト(https://github.com/carpedm20/DCGAN-tensorflow)で公開されている プログラムを,ダウンロードし展開(解凍)する.
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
- Windows で,コマンドプロンプトを管理者として実行.
- その他 Pythonのライブラリのインストール
C:\venv\py37\Scripts\activate.bat python -m pip install -U numpy==1.16.2 pillow==6.0.0 requests tqdm opencv-python opencv-contrib-python imageio matplotlib moviepy - carpedm20/DCGAN-tensorflow のダウンロード
cd /d c:%HOMEPATH% rmdir /s /q DCGAN-tensorflow
git clone https://github.com/carpedm20/DCGAN-tensorflow
- celebA データセットのダウンロード
- コマンドプロンプトで次のコマンドを実行する.
mkdir %USERPROFILE%\DCGAN-tensorflow\data mkdir %USERPROFILE%\DCGAN-tensorflow\data\celebA- Web ブラウザで次の URL を開く
- 「Google Drive」をクリック
- 画面が変わる。「img」ディレクトリの下の「img_align_celeba.zip」を選んでみる
- メニューで「Download」を選ぶ
- ダウンロードしたいので,「無視してダウンロード (DOWNLOAD ANYWAY)」をクリック
- ダウンロードが始まるので確認する.
- ダウンロードしたファイルを展開(解凍)する.
- 展開(解凍)してできたディレクトリ img_align_celeba を確認する.
img_align_celeba の下に、多数の顔画像ファイルがあることを確認する.
- 顔画像ファイルを%HOMEPATH%\DCGAN-tensorflow\data\celebA の下に置く
時間がかかるので待つ.
- コマンドプロンプトで次のコマンドを実行する.
- celebA データセットの確認
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
%HOMEPATH%\DCGAN-tensorflow の下の data の下の celebA の下
celebA データセットを使って動かしてみる
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
- 以下の操作をコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 →「コマンドプロンプト」を選択)。 - celebA データセットを用いて学習
時間がかかるので待つ.
C:\venv\py37\Scripts\activate.bat cd /d c:%HOMEPATH%\DCGAN-tensorflow python main.py --dataset celebA --input_height=108 --train --crop
- 学習の終了の確認
- tensorboard save/summary を使い、中間結果を確認できる
次のコマンドを実行.
tensorboard --logdir .Web ブラウザで http://localhost:6006 を開く
- dcgan の機能を動かしてみる
python main.py --dataset celebA --input_height=108 --crop - samples の下に結果があるので確認
MNIST データセットを使って動かしてみる
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
Windows では,コマンドプロンプトを実行.Ubuntu では端末を開く.
Windows の場合
Windows を使用する場合は,次のように操作する.
- MNIST データセットを用いて学習
時間がかかるので待つ.
python main.py --dataset mnist --input_height=28 --output_height=28 --train - 学習の終了の確認
- tensorboard save/summary を使い、中間結果を確認できる
次のコマンドを実行.
tensorboard --logdir .Web ブラウザで http://localhost:6006 を開く
- dcgan の機能を動かしてみる
python main.py --dataset mnist --input_height=28 --output_height=28
- samples の下に結果があるので確認