私的AI研究会 > StableDef6
「Stable-Diffusion」のプロンプト入力に翻訳パッケージ「googletrans」を組み込んでみる。
※ ファイルを配置する前にあらかじめ「workspace_py38/」直下にある「stable_diffusion/」フォルダを削除しておくこと
(py38) > pip install googletrans==4.0.0-rc1 Collecting googletrans==4.0.0-rc1 Downloading googletrans-4.0.0rc1.tar.gz (20 kB) Preparing metadata (setup.py) ... done : Successfully built googletrans Installing collected packages: googletrans Successfully installed googletrans-4.0.0rc1
(py38) > cd workspace_py38/googletrans/ (py38) > python test.py Let's do our best today and study Python.
(py38) > python test2.py ['I am Japanese', 'I like curry rice the most']
(py38) > python test3.py こんにちは 光が差し込む美しい緑の森 → Beautiful green forest where light shines Beautiful green forest where light shines → 光が輝く美しい緑の森 月見をする黒猫 → Black cat with the moon Black cat with the moon → 月と黒猫 ビルの屋上で夜空を見上げる少女 → A girl looking up at the night sky on the roof of the building A girl looking up at the night sky on the roof of the building → 建物の屋根で夜空を見上げている女の子 中世の小さい街のイラスト → Illustrations of small medieval cities Illustrations of small medieval cities → 中世の小さな都市のイラスト 私はにゃんこを飼っています。 → I have a cat. I have a cat. → 私は猫を飼っています。 私はにゃんこを飼っていますが、最近食べ過ぎて太ってしまい、健康状態が心配です。 → I have a cat, but I'm worried about my health because I have eaten too much recently and get fat. I have a cat, but I'm worried about my health because I have eaten too much recently and get fat. → 私は猫を飼っていますが、私は最近食べすぎて太っているので、 私は自分の健康について心配しています。 道を歩いていたら、気持ちよさそうに毛づくろいしている猫を発見した。 → As I was walking on the road, I found a grooming cat with pleasant hair. As I was walking on the road, I found a grooming cat with pleasant hair. → 道を歩いていたとき、心地よい髪の毛づくろいを見つけました。
(py38) > python3 test.py Traceback (most recent call last): : AttributeError: 'NoneType' object has no attribute 'group'
※ GUIウインドウからの終了は「Exit」または「X」ボタンによるが、画像作成中はターミナル・ウインドウで「CTRL+C」を押す
(py38) PS > cd C:\anaconda_win\workspace_py38\stable_diffusion (py38) PS > python stable_diffusion2.py● Linux
(py38) $ cd ~/workspace_py38/stable_diffusion (py38) $ python3 stable_diffusion2.py■ コマンドライン引数
コマンドオプション | デフォールト設定 | 意味 |
-h, --help | ヘルプ表示 | |
--log | 3 | ログ出力レベル (0/1/2/3/4/5) |
-o, --out | result/ | 処理結果の出力ディレクトリ |
--header | output_ | ファイル名の接頭語 |
--model | bes-dev/stable-diffusion-v1-4-openvino | model name (通常デフォールト値で使用) |
--beta_start | 0.00085 | LMSDiscreteScheduler::beta_start (通常デフォールト値で使用) |
--beta_end | 0.012 | LMSDiscreteScheduler::beta_end (通常デフォールト値で使用) |
--beta_schedule | scaled_linear | LMSDiscreteScheduler::beta_schedule (通常デフォールト値で使用) |
--eta | 0.0 | eta (通常デフォールト値で使用) |
--tokenizer | openai/clip-vit-large-patch14 | tokenizer (通常デフォールト値で使用) |
(py38) PS > python .\stable_diffusion2.py -h usage: stable_diffusion2.py [-h] [--log LOG] [-o OUT_DIR] [--header OUT_HEDER] [--model MODEL] [--beta_start BETA_START] [--beta_end BETA_END] [--beta_schedule BETA_SCHEDULE] [--eta ETA] [--tokenizer TOKENIZER] optional arguments: -h, --help show this help message and exit --log LOG Log level(-1/0/1/2/3/4/5) Default value is '3' -o OUT_DIR, --out OUT_DIR Output directory path. --header OUT_HEDER Output file header. --model MODEL model name --beta_start BETA_START LMSDiscreteScheduler::beta_start --beta_end BETA_END LMSDiscreteScheduler::beta_end --beta_schedule BETA_SCHEDULE LMSDiscreteScheduler::beta_schedule --eta ETA eta --tokenizer TOKENIZER tokenizer※ 起動時に表示する画像は前回の最後の結果画像 (ない場合は初期画像)
(py38) PS > python stable_diffusion2.py Starting.. - Program title : Stable Diffusion2 OpenVINO™ Ver 0.01 - OpenVINO engine: 2022.1.0-7019-cdb9bec7210-releases/2022/1 - OpenCV version : 4.5.5 - Log level : 3 - Output dir : result/ - Output header : output_ - model : bes-dev/stable-diffusion-v1-4-openvino - beta_start : 0.00085 - beta_end : 0.012 - beta_schedule : scaled_linear - eta : 0.0 - tokenizer : openai/clip-vit-large-patch14 Prompt: Painting, Katsushika Hokusai style 和訳: 絵画、大学の建物 ** start 0 ** 961583298 32it [03:40, 6.88s/it] -Output-: result_try/output_0961583298.png ** end ** 00:04:12 Finished.
(py38) PS > python stable_diffusion2.py Starting.. ; Prompt: Beautiful green forest where light shines (和訳): 光が輝く美しい緑の森 ** start 0 ** 3037447148 ← 最初はランダムなシード値 32it [03:36, 6.75s/it] -Output-: result/output_3037447148.png ** end ** 00:04:15 ** start 1 ** 3037447149 ← シード値 +1 32it [03:35, 6.73s/it] -Output-: result/output_3037447149.png ** end ** 00:04:10 ** start 2 ** 3037447150 ← シード値 +1 32it [03:35, 6.74s/it] -Output-: result/output_3037447150.png ** end ** 00:04:11 Finished.
ヘッダー | -seed- | -Prompt- | -InitImage- | -MaskImage- | -Step- | -Scale- | -Strength- | -Device- | -Time- | -Output- | -Loop- |
意味 | シード値 | プロンプト | 初期画像パス (ある場合) | マスク画像 (ある場合) | Step値 | Scale値 | Strength値 | CPU/GPU | 処理時間 | 出力画像ファイル名 ※ | ループ数(1) |
(py38) PS > cd C:\anaconda_win\workspace_py38\stable_diffusion (py38) PS > python .\stable_diffusion_make2.py● Linux
(py38) $ cd ~/workspace_py38/stable_diffusion (py38) $ python3 stable_diffusion_make2.py■ コマンドライン引数
コマンドオプション | デフォールト設定 | 意味 |
-h, --help | ヘルプ表示 | |
--log | 3 | ログ出力レベル (0/1/2/3/4/5) |
-i, --input | input.csv/ | 処理手順の入力ファイル |
-s, --seedr | y | seed値のリセット(y/n) |
-o, --out | 処理結果の出力ディレクトリ (指定すれば優先) | |
--header | ファイル名の接頭語 (指定すれば優先) | |
--device | デバイス CPU/GPU (指定すれば優先) | |
--step | Step パラメータ (指定すれば優先) | |
--scale | Scale パラメータ (指定すれば優先) | |
--strength | Strength パラメータ (指定すれば優先) | |
--loop | Loop パラメータ (指定すれば優先) | |
--model | bes-dev/stable-diffusion-v1-4-openvino | model name (通常デフォールト値で使用) |
--beta_start | 0.00085 | LMSDiscreteScheduler::beta_start (通常デフォールト値で使用) |
--beta_end | 0.012 | LMSDiscreteScheduler::beta_end (通常デフォールト値で使用) |
--beta_schedule | scaled_linear | LMSDiscreteScheduler::beta_schedule (通常デフォールト値で使用) |
--eta | 0.0 | eta (通常デフォールト値で使用) |
--tokenizer | openai/clip-vit-large-patch14 | tokenizer (通常デフォールト値で使用) |
(py38) PS > python stable_diffusion_make2.py -h usage: stable_diffusion_make2.py [-h] [-i INPUT_PATH] [-s SEED_RESET] [--log LOG] [-o OUT_DIR] [--header OUT_HEDER] [--device DEVICE] [--step STEP] [--scale SCALE] [--strength STRENGTH] [--loop LOOP] [--model MODEL] [--beta_start BETA_START] [--beta_end BETA_END] [--beta_schedule BETA_SCHEDULE] [--eta ETA] [--tokenizer TOKENIZER] optional arguments: -h, --help show this help message and exit -i INPUT_PATH, --input INPUT_PATH Absolute path to image file. Default value is 'input.csv' -s SEED_RESET, --seedr SEED_RESET Seed reset flag (y/n). Default value is 'y' --log LOG Log level(-1/0/1/2/3/4/5) Default value is '3' -o OUT_DIR, --out OUT_DIR Output directory path. --header OUT_HEDER Output file header. --device DEVICE Specify a target device to infer on. CPU, GPU, FPGA, HDDL or MYRIAD. --step STEP Steps --scale SCALE Guidance Scale --strength STRENGTH Strengh --loop LOOP Loop counter. --model MODEL model name Default value is 'bes-dev/stable- diffusion-v1-4-openvino' --beta_start BETA_START LMSDiscreteScheduler::beta_start Default value is 0.00085 --beta_end BETA_END LMSDiscreteScheduler::beta_end Default value is 0.012 --beta_schedule BETA_SCHEDULE LMSDiscreteScheduler::beta_schedule Default value is 'scaled_linear' --eta ETA eta Default value is 0.0 --tokenizer TOKENIZER tokenizer Default value is 'openai/clip-vit-large- patch14'
サイト 「Stable Diffusionのprompt・呪文の書き方」 「未来の仮想都市」のプロンプトのバリエーションを試してみる
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0897799633,"Virtual computer town of the future",,,32,7.5,0.5,CPU,00:04:18,result_mk/out001_0897799633.png,1 0897799633,"Realistic,future tense,Virtual computer town of the future",,,32,7.5,0.5,CPU,00:04:16,result_mk/out002_0897799633.png,1 0897799633,"Realistic,future tense,Virtual computer town of the future,Skyscrapers with electric lights",,,32,7.5,0.5,CPU,00:04:16,result_mk/out003_0897799633.png,1 0897799633,"Realistic,future tense,Virtual computer town of the future,Skyscrapers with electric lights,nighttime",,,32,7.5,0.5,CPU,00:04:16,result_mk/out004_0897799633.png,1
(py38) PS > python stable_diffusion_make2.py -i input_mk.csv -s n Starting.. - Program title : Stable Diffusion OpenVINO™ auto making 2 Ver 0.01 - OpenVINO engine: 2022.1.0-7019-cdb9bec7210-releases/2022/1 - OpenCV version : 4.5.5 - Input file : input_mk.csv - Seed reset : n - Log level : 3 - model : bes-dev/stable-diffusion-v1-4-openvino - beta_start : 0.00085 - beta_end : 0.012 - beta_schedule : scaled_linear - eta : 0.0 - tokenizer : openai/clip-vit-large-patch14 Prompt: Virtual computer town of the future (和訳): 未来の仮想コンピュータータウン ** start 0 - 0 ** 897799633 32it [04:03, 7.61s/it] ** end ** 00:04:38 Prompt: Realistic,future tense,Virtual computer town of the future (和訳): 現実的で未来時制、仮想コンピューターの町の未来の町 ** start 1 - 0 ** 897799633 32it [03:59, 7.50s/it] ** end ** 00:04:35 Prompt: Realistic,future tense,Virtual computer town of the future,Skyscrapers with electric lights (和訳): 現実的で未来の時制で、未来の仮想コンピューターの町、電灯付きの高層ビル ** start 2 - 0 ** 897799633 32it [04:04, 7.66s/it] ** end ** 00:04:39 Prompt: Realistic,future tense,Virtual computer town of the future,Skyscrapers with electric lights,nighttime (和訳): 現実的で未来の時制、仮想コンピューターの未来の町、電灯が付いた高層ビル 、夜間 ** start 3 - 0 ** 897799633 32it [04:01, 7.54s/it] ** end ** 00:04:36 Finished.
(py38) PS > python stable_diffusion_make2.py -i input_mk.csv Starting.. - Program title : Stable Diffusion OpenVINO™ auto making 2 Ver 0.01 - OpenVINO engine: 2022.1.0-7019-cdb9bec7210-releases/2022/1 - OpenCV version : 4.5.5 - Input file : input_mk.csv - Seed reset : y - Log level : 3 - model : bes-dev/stable-diffusion-v1-4-openvino - beta_start : 0.00085 - beta_end : 0.012 - beta_schedule : scaled_linear - eta : 0.0 - tokenizer : openai/clip-vit-large-patch14 Prompt: Virtual computer town of the future (和訳): 未来の仮想コンピュータータウン ** start 0 - 0 ** 1745674351 32it [03:58, 7.46s/it] ** end ** 00:04:37 Prompt: Realistic,future tense,Virtual computer town of the future (和訳): 現実的で未来時制、仮想コンピューターの町の未来の町 ** start 1 - 0 ** 218599538 32it [03:57, 7.41s/it] ** end ** 00:04:34 Prompt: Realistic,future tense,Virtual computer town of the future,Skyscrapers with electric lights (和訳): 現実的で未来の時制で、未来の仮想コンピューターの町、電灯付きの高層ビル ** start 2 - 0 ** 1028779452 32it [03:58, 7.45s/it] ** end ** 00:04:33 Prompt: Realistic,future tense,Virtual computer town of the future,Skyscrapers with electric lights,nighttime (和訳): 現実的で未来の時制、仮想コンピューターの未来の町、電灯が付いた高層ビル 、夜間 ** start 3 - 0 ** 1667053191 32it [03:42, 6.94s/it] ** end ** 00:04:16 Finished.