ZZUTK/Face-Aging-CAAE のインストールとテスト実行(さまざまな年齢の顔画像の合成)(Python 3.7,TensorFlow 1.15.5, scipy 1.1.0 を使用)(Windows 上)
手順の要点: 前準備として,NVIDIA CUDA 10.0, NVIDIA cuDNN 7.6.5, Python 3.7, TensorFlow 1.15.5 等をインストール.
ソフトウェア等の利用条件等は,利用者で確認すること.
謝辞:ソフトウェアの作者に感謝します.
GitHub の ZZUTK/Face-Aging-CAAE の Webページ: https://github.com/ZZUTK/Face-Aging-CAAE
前準備
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"
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」を選ぶ. インストール時には「C++ によるデスクトップ開発」をチェックしてインストールする.
NVIDIA ドライバのインストール(Windows 上)
NVIDIA ドライバ
NVIDIA ドライバは,NVIDIA製GPUを動作させるための重要なソフトウェアである.このドライバをインストールすることにより,GPUの性能を引き出すことができ,グラフィックス関連のアプリ,AI関連のアプリの高速化が期待できる.
ドライバはNVIDIA公式サイトである https://www.nvidia.co.jp/Download/index.aspx?lang=jp からダウンロードできる.このサイトからダウンロードするときには,グラフィックスカードとオペレーティングシステムを選択する. なお,NVIDIA GeForce Experience を用いてインストールすることも可能である.
【サイト内の関連ページ】
- NVIDIA グラフィックス・ボードの確認
Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name - NVIDIA ドライバのダウンロード
NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる.
- ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.
NVIDIA CUDA ツールキット 10.0 のインストール(Windows 上)
NVIDIA CUDA ツールキットのインストール時の注意点
NVIDIAのGPUを使用して並列計算を行うためのツールセット
主な機能: GPU を利用した並列処理,GPU のメモリ管理,C++をベースとした拡張言語とAPIとライブラリ
【NVIDIA CUDA ツールキットの動作に必要なもの】
- CUDA対応のNVIDIA GPUが必要.
そのために,NVIDIA グラフィックス・ボードを確認する. Windows で,NVIDIA グラフィックス・ボードの種類を調べたいときは, 次のコマンドを実行することにより調べることができる.
wmic path win32_VideoController get name - NVIDIA ドライバのダウンロードとインストール
NVIDIA ドライバは,以下の NVIDIA 公式サイトからダウンロードできる. ダウンロードの際には,使用しているグラフィックス・ボードの型番とオペレーティングシステムを選択する.
- Windows では,インストール前に,Build Tools for Visual Studio もしくは Visual Studio をインストールしておくことが必要である.
【Windows でインストールするときの注意点】
- Windows では, NVIDIA CUDA ツールキットのインストール中は,なるべく他のウインドウはすべて閉じておくこと.
- NVIDIA CUDA ツールキットのインストールが終わったら,ユーザ環境変数 TEMP の設定を行う.
Windows のユーザ名が日本語のとき,nvcc がうまく動作しないエラーを回避するためである.
ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.
mkdir C:\TEMP powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
【関連する外部ページ】
- NVIDIA CUDA ツールキットのアーカイブの公式ページ: https://developer.nvidia.com/cuda-toolkit-archive
- NVIDIA CUDA ツールキット の公式のドキュメント: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
- NVIDIA CUDA ツールキットのインストールに関する,NVIDIA CUDA クイックスタートガイドの公式ページ: https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html
【関連項目】 NVIDIA CUDA ツールキット, NVIDIA CUDA ツールキット 12.6 のインストール(Windows 上), NVIDIA CUDA ツールキット 11.8 のインストール(Windows 上)
TensorFlow 1.15.5 が必要とする NVIDIA CUDA ツールキットと NVIDIA cuDNN のバージョンの確認
TensorFlow 1.15.5 を動かすために,NVIDIA CUDA ツールキット 10.0,NVIDIA cuDNN 7.6.5 を使う.
(10.2, 10.1 は不可.実際に試みて検証済み).
インストール手順
- NVIDIA CUDA ツールキットのアーカイブのページを開く
- NVIDIA CUDA ツールキットのバージョンを選ぶ
ここでは,NVIDIA CUDA ツールキットの10.0を選んでいる
- 「Windows」,「10」,「exe [local]」を選ぶ.
- 「Base Installer」の右横の「Download」をクリックして,.exe ファイルをダウンロード
- exe ファイルのダウンロードが始まる
- ダウンロードした .exe ファイルを実行する.
- 展開(解凍)先ディレクトリ(フォルダ)の指定.
既定(デフォルト)のままでよい.「OK」をクリック.
- 展開(解凍)が自動で行われるので,しばらく待つ.
- ライセンス条項の確認.
- インストールオプションは,「カスタム(詳細)」を選び,「次へ」をクリック.
- コンポーネントを確認する.
「CUDA」にチェックする.その他は,必要なものがあればチェックする.「次へ」をクリック.
複数の版の NVIDIA CUDA ツールキットをインストールする場合には,古い版のNVIDIA CUDA ツールキットをインストールするときに「CUDA」だけを選ぶようにする. - インストール場所の選択は,既定(デフォルト)のままでよい.「次へ」をクリック.
- Visual Studio Integration について表示された場合
表示されなくても問題はない.
表示された場合には,NVIDIA CUDA のインストールを中止して, Visual Studio Commnity 2017 のインストールを行う.Visual Studio Commnity 2017 のインストールは, https://visualstudio.microsoft.com/ja/vs/older-downloads/ で「2017」を選び,「ダウンロード」をクリック. その後表示されるダウンロードの画面で, 「Visual Studio Commnity 2017」を選ぶ. インストール時には「C++ によるデスクトップ開発」をチェックしてインストールする.
- このとき,Windows セキュリティの画面が開くことがある.開いた場合には,「インストール」をクリック.
- インストールが始まるので,確認する.
- このとき,グラフィックス・カードのドライバのインストールについての画面が表示される場合がある.「インストール」をクリックして,インストールを続行する.
- Visual Studio がインストール済みのときは,Nsight Visual Studio がインストールされたことが確認できる.確認したら「次へ」をクリック.
Visual Studio をインストールしていないときは,Nsight for Visual Studio はインストールされない.
- インストール終了の確認.「閉じる」をクリック.
* 「コンピュータを再起動してください」と表示される場合がある.そのときは,再起動する. - GeForce Experience が自動で開く場合がある
- 利用条件について表示されたときは、よく確認し、納得できる場合のみ同意・続行する
- リリースハイライトが表示される場合がある.
リリースハイライトを確認したら,「x」をクリックして閉じる.
- このとき,最新版への更新が始まり,起動に時間がかかることがある.
そして「お使いのGPU向けの新しいドライバーが入手可能です」と表示されることがある.そのときは,新しいドライバをインストールする.
NVIDIA cuDNN 7.6.5 のインストール
インストールするNVIDIA cuDNN のバージョンは 7.6.5 for CUDA 10.0
NVIDIA cuDNN
NVIDIA cuDNN は,NVIDIA CUDA ツールキット上で動作する、高性能なディープラーニング用ライブラリです.畳み込みニューラルネットワーク (CNN) やリカレントニューラルネットワーク (RNN) など,さまざまなディープラーニングモデルのトレーニングと推論を高速化します.
【cuDNN利用時の注意点: zlibwapi.dll エラー】
Windows環境でcuDNNを利用するアプリケーションを実行した際に、「Could not locate zlibwapi.dll. Please make sure it is in your library path!」というエラーが表示されることがあります。これは、cuDNNの一部の機能が圧縮ライブラリである zlib に依存しているためです。このエラーが発生した場合は、後述する手順で ZLIB DLL をインストールする必要があります。
【関連する外部ページ】
- NVIDIA cuDNN の公式ページ(ダウンロードにはDeveloper Programへの登録が必要): https://developer.nvidia.com/cudnn
NVIDIA cuDNN のインストール(Windows 上)の概要
- NVIDIA Developer Program メンバーシップへの加入: cuDNNのダウンロードには無料のメンバーシップ登録が必要です。
NVIDIA Developer Program の公式ページ: https://developer.nvidia.com/developer-program
- 互換バージョンの選択とダウンロード: インストール済みのCUDAツールキットのバージョン (今回は11.x) に適合するcuDNNのバージョン (今回はv8.9.7) を選択し、Windows用のzipファイルをダウンロードします。
- ファイルの展開と配置: ダウンロードしたzipファイルを展開(解凍)し、中のファイル(
bin,include,libフォルダ内)を、CUDAツールキットのインストールディレクトリにコピーします。 - (オプション) 環境変数の設定: 必要に応じてシステム環境変数
CUDNN_PATHを設定します。 - (必要に応じて) ZLIB DLL のインストール:
zlibwapi.dllが見つからないエラーが発生する場合にインストールします。 - 動作確認: cuDNNライブラリ (
cudnn64_*.dll) にパスが通っているか確認します。
NVIDIA cuDNN のダウンロードとインストールの手順
- NVIDIA cuDNN のウェブページを開く
- ダウンロードしたいので,cuDNNのところにある「Download cuDNN」をクリック.
- NVIDIA Developer Program メンバーシップに入る
NVIDIA cuDNN のダウンロードのため.
「Join now」をクリック.その後,画面の指示に従う. 利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.
- ログインする
- 調査の画面が出たときは,調査に応じる
- ライセンス条項の確認
- 「Archived cuDNN Releases」をクリック
- ダウンロードしたいバージョンを選ぶ
ここでは「cuDNN v 7.6.5, for CUDA 10.0」を選んでいる.
このとき,画面の「for CUDA ...」のところを確認し,使用するNVIDIA CUDA のバージョンに合うものを選ぶこと.
- Windows にインストールするので Windows 版を選ぶ
- ダウンロードが始まる.
- ダウンロードした .zip ファイルを展開(解凍)する.展開の結果 cuda という名前のディレクトリができる.その中のサブディレクトリを確認しておく.
- NVIDIA CUDA ツールキットをインストールしたディレクトリは,「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0」
のようになっている.確認する.
- 確認したら,
さきほど展開してできたディレクトリcuda の下にあるすべてのファイルとディレクトリを,NVIDIA CUDA ツールキットをインストールしたディレクトリにコピーする
インストール後に行う環境変数の設定
「NVIDIA cuDNN をインストールしたディレクトリ」をもとに環境変数を設定する.
「NVIDIA cuDNN をインストールしたディレクトリ」が C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 の場合には,次のように設定する.
- すでに,c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin には,パスが通っている.
- Windows の システム環境変数 CUDNN_PATH に,c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 を設定
Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmdと入力 > 右クリック > 「管理者として実行」)。次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\", \"Machine\")" - Windows の システム環境変数 Pathに,次が含まれていることを確認
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
パスの確認
次の操作により,cudnn64_7.dll にパスが通っていることを確認する
Windows のコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.
where cudnn64_7.dll
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
Face-Aging-CAAE プログラムのダウンロードと展開(解凍)
GitHub の ZZUTK/Face-Aging-CAAE の配布サイト(https://github.com/ZZUTK/Face-Aging-CAAE)で公開されている プログラムを,ダウンロードし展開(解凍)する.
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
- Windows で,コマンドプロンプトを管理者として実行.
- その他 Pythonのライブラリのインストール
venv を使い,孤立した Python の隔離された環境を使っているときは,Windows でも Ubuntu でも同じで,「python -m pip install ...」.
C:\venv\py37\Scripts\activate.bat python -m pip install -U numpy==1.16.2 scipy==1.1.0 scikit-image==0.17.2 - Face-Aging-CAAE のダウンロード
cd /d c:%HOMEPATH% rmdir /s /q Face-Aging-CAAE git clone https://github.com/ZZUTK/Face-Aging-CAAE
ソースコードの書き換え
Python 3 で動くように書きかえ
- Windows で,コマンドプロンプトを管理者として実行.
- 2to3 を使う
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
cd /d c:%HOMEPATH% cd Face-Aging-CAAE py -3.7 "C:\Program Files\Python37\Tools\scripts\2to3.py" -w .
(以下省略)
Windows で動くように書きかえ
- Windows で動かしたい ので,
エディタを使い,FaceAging.py を書き替えて保存.
cd /d c:%HOMEPATH% cd Face-Aging-CAAE notepad FaceAging.py
282 行目.「/」を「\\」に書き換え.
書き換え前
書き換え後
304 行目.同じように,「/」を「\\」に書き換え.
356 行目.同じように,「/」を「\\」に書き換え.
378 行目.同じように,「/」を「\\」に書き換え.
UTKFace (Large Scale Face Dataset) のダウンロードと展開(解凍)
- 20,000 以上の顔画像
- 性別,年齢,race ( White, Black, Asian, Indian, and Others (like Hispanic, Latino, Middle Eastern) のデータも公開
- 68 landmarks (68 ランドマーク)のデータも公開
ここでは、Aligned & Cropped Faces」データファイルを選ぶ GitHub の ZZUTK/Face-Aging-CAAE の配布サイト(https://github.com/ZZUTK/Face-Aging-CAAE)にそのことが説明されている.
- Web ブラウザで次の URL を開く
- 「Aligned & Cropped Faces」データファイルを選んでみる
- 「UTKFace.tar.gz」を選ぶ
別の方は使わない.
- ダウンロードしたいので,「ダウンロード (DOWNLOAD)」をクリック
- ダウンロードが始まるので確認する.
- ダウンロードしたファイルを展開(解凍)する.
tar.gz 形式ファイルを 7-Zip で展開(解凍)すると tar 形式ファイルができ, tar 形式ファイルを 7-Zip で展開(解凍)すると,画像ファイルの入ったディレクトリが得られる.
- 展開(解凍)してできたディレクトリ UTKFace を確認する.
- ディレクトリ UTKFace の下に多数の顔画像ファイルがあることを確認する.
学習
Windows での手順を下に示す.Ubuntu でも同様の手順になる.
- %HOMEPATH%\Face-Aging-CAAE の下の dataを開いて、「save_data_folder_here.txt」というファイルがあることを確認する
- 先ほどダウンロードした UTKFace をまるごと、このdataの直下にコピー
- 学習を行う
main.py の実行
終了まで時間がかかるので待つ
C:\venv\py37\Scripts\activate.bat cd /d c:%HOMEPATH%\Face-Aging-CAAE python main.py
- 終了の確認
- 訓練データによる学習結果は save の下の保存される.
ファイル:save.zip (使用するときは自己責任で.展開して使ってください)
- save/summary の下に,中間結果が保存されている.次のコマンドにより確認できる.
cd save/summary tensorboard --logdir . - テスト
「imagedir」のような名前でディレクトリを作り(名前は何でも良いがわかりやすい名前が良い)、 そこに .jpg ファイルを 10 個以上おき、次のコマンドを実行する.
python main.py --is_train False --testdir imagedir