私的AI研究会 > GAN-e4e2
「StyleGAN-e4e」で高速の画像編集する
ローカル環境で「StyleGAN-e4e2」を動かす
cd /anaconda_win/workspace_2 ← Windows の場合 cd ~/workspace_2 ← Linux の場合 git clone https://github.com/cedro3/encoder4editing.git
project_e4e └─workspace_2 └─encoder4editing ← GitHub からクローンしたプロジェクトに上書きする ├─images └─pretrained_models・解凍してできる「project_e4e/」フォルダ内を次のフォルダの下に上書きコピーする
(※ このプログラムは GPU 環境でのみ動作する)
(py38_learn) python e4e_demo.py StyleGAN e4e demo program Ver 0.01: Starting application... - source_image : ./images - result_image : ./results - log : 3 - model path : ./pretrained_models/e4e_ffhq_encode.pt - align directory : ./align - vector pict directory : ./vec_pic - latent variable direct. : ./vec - still image directory : ./pic Loading e4e over the pSp framework from checkpoint: ./pretrained_models/e4e_ffhq_encode.pt Model successfully loaded! 100%|████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:11<00:00, 1.30s/it] 100%|████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:00<00:00, 11.45it/s] latent = 03.pt, direction = age, min = -50, max = 50 0 -> min: 100%|████████████████████████████████████████████████████████████████████████| 50/50 [00:03<00:00, 15.71it/s] min -> max: 100%|████████████████████████████████████████████████████████████████████| 100/100 [00:05<00:00, 16.99it/s] max -> 0: 100%|████████████████████████████████████████████████████████████████████████| 50/50 [00:02<00:00, 16.75it/s] latent = 03.pt, direction = pose, min = -50, max = 50 0 -> min: 100%|████████████████████████████████████████████████████████████████████████| 50/50 [00:03<00:00, 16.63it/s] min -> max: 100%|████████████████████████████████████████████████████████████████████| 100/100 [00:05<00:00, 16.69it/s] max -> 0: 100%|████████████████████████████████████████████████████████████████████████| 50/50 [00:02<00:00, 17.15it/s] latent = 03.pt, direction = smile, min = 0, max = 30 0 -> min: 0it [00:00, ?it/s] min -> max: 100%|██████████████████████████████████████████████████████████████████████| 30/30 [00:01<00:00, 16.30it/s] max -> 0: 100%|████████████████████████████████████████████████████████████████████████| 30/30 [00:01<00:00, 17.34it/s] latent = 03.pt, direction = age+pose, min = -50, max = 50 0 -> min: 100%|████████████████████████████████████████████████████████████████████████| 50/50 [00:03<00:00, 15.15it/s] min -> max: 100%|████████████████████████████████████████████████████████████████████| 100/100 [00:05<00:00, 17.33it/s] max -> 0: 100%|████████████████████████████████████████████████████████████████████████| 50/50 [00:03<00:00, 16.09it/s] processing start >> 2024/08/07 05:14:03 processing end >> 2024/08/07 05:15:33 processing time >> 0:01:29.451243 Finished.
コマンドオプション | 引数 | 初期値 | 意味 |
--source_image | str | './images/03.jpg' | 静止画ファイルパス |
--result_image | str | './result' | 出力保存ディレクトリ |
--log | int | 3 | Log level(-1/0/1/2/3/4/5) |
(py38_learn) python e4e_gui.py StyleGAN-e4e GUI program Ver 0.01: Starting application... - source_image : C:/anaconda_win/workspace_2/encoder4editing/images/03.jpg - result_image : ./results - log : 3 - GPU status : True - model path : ./pretrained_models/e4e_ffhq_encode.pt - align directory : ./align - vector pict directory : ./vec_pic - latent variable direct. : ./vec - still image directory : ./pic Loading e4e over the pSp framework from checkpoint: ./pretrained_models/e4e_ffhq_encode.pt Model successfully loaded! Finished.
データ | プログラム | GPU | CPU | ||||
RTX 4070Ti | RTX 4060 | GTX 1050 | i9-13900 | i7-14700 | i7-1260P | ||
images/03.jpg | e4e_demo.py | 1分30秒 | 1分35秒 | 3分37秒 | × | × | × |
import warnings warnings.simplefilter('ignore')
from torch.cuda import is_available gpu_d = is_available() # GPU 確認
(py38_learn_test2) PS C:\anaconda_win\workspace_2\encoder4editing> cl cl : 用語 'cl' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名 前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + cl + ~~ + CategoryInfo : ObjectNotFound: (cl:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
(py38_learn_test2) PS C:\anaconda_win\workspace_2\encoder4editing> echo $env:path C:\Users\XXXXXX\anaconda3\envs\py38_learn_test2;C:\Users\iXXXX\anaconda3\envs\py38_learn\Library\mingw-w64\bin; ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\bin\Hostx64\x64;
(py38_learn_test2) PS C:\anaconda_win\workspace_2\encoder4editing> echo $env:path C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64;
(py38_learn) PS C:\anaconda_win\project\project_mylib> cl Microsoft(R) C/C++ Optimizing Compiler Version 19.40.33814 for x64 Copyright (C) Microsoft Corporation. All rights reserved. 使い方: cl [ オプション... ] ファイル名... [ /link リンク オプション... ]
command = ['ninja', '-v']・修正後 → 2073行目
command = ['ninja', '--version']
(py38_learn) PS C:\anaconda_win\workspace_2\encoder4editing> ninja --version 1.11.1.git.kitware.jobserver-1
(py38_learn) PS C:\anaconda_win\workspace_2\encoder4editing> conda list : torch 2.4.0+cu121 pypi_0 pypi torchaudio 2.4.0+cu121 pypi_0 pypi torchvision 0.19.0+cu121 pypi_0 pypi tornado 6.4.1 pypi_0 pypi : vc 14.40 h2eaa2aa_0 vc14_runtime 14.40.33810 hcc2c482_20 conda-forge vs2015_runtime 14.40.33810 h3bf8584_20 conda-forge :
: File "C:\Users\XXXX\anaconda3\envs\py38_learn_test2\lib\site-packages\torch\utils\cpp_extension.py", line 1834, in _write_ninja_file_and_build_library _run_ninja_build( File "C:\Users\iXXXX\anaconda3\envs\py38_learn_test2\lib\site-packages\torch\utils\cpp_extension.py", line 2082, in _run_ninja_build vc_env = distutils._msvccompiler._get_vc_env(plat_spec) AttributeError: module 'distutils' has no attribute '_msvccompiler'
(py38_learn_test2) python Python 3.8.19 (default, Mar 20 2024, 19:55:45) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from setuptools import distutils >>> vc_env = distutils._msvccompiler._get_vc_env('') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'distutils' has no attribute '_msvccompiler' >>> quit()・エラーの発生しない環境
(py38_learn_test) python Python 3.8.19 (default, Mar 20 2024, 19:55:45) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from setuptools import distutils >>> vc_env = distutils._msvccompiler._get_vc_env('') >>> quit()
pip uninstall setuptools pip install setuptools==72.1.0・環境構築手順『仮想環境 (py38_learn)』 を更新した