上記の記事の続きをやりますかね!
前回は、プロンプト以外のパラメータもモデルページにちゃんと寄せていくことをしていました。
その中で Scheduler の設定方法が分からずに途中でやめてしまったところです。
Scheduler については以下の記事で学びました。
Scheduler を設定できるようになったので、
今回は Scheduler を寄せていきます。
Scheduler を寄せる
前回は以下のパラメータでやりました。
パラメータ名 | 値 |
---|---|
Scheduler | 未指定 |
guidance_scale | 9 |
num_inference_steps | 30 |
Generator(seed) | 3310753072 |
num_hidden_layers | 11 (Clip skip 2) |
size | 512x512 |
今回はこの未指定だった Scheduler を設定します。
更に touch.Generator() を作る際にいつからか device="cuda" を入れていないことに気づきました
device="cuda" の有り無しで出力が少し変わったので何かしらの影響は出ていそうです
device="cuda" の有り無しで出力が少し変わったので何かしらの影響は出ていそうです
DPMSolverSinglestepScheduler を使用する
ドキュメントによると DPM++ SDE Karras
は DPMSolverSinglestepScheduler
を使用するようです。
更に use_karras_sigmas=True
というキーワード引数も必要のようです。
from diffusers import DPMSolverSinglestepScheduler pipe.scheduler = DPMSolverSinglestepScheduler.from_config(pipe.scheduler.config, use_karras_sigmas=True)
つまり、こんな感じってことですね。
いざ、実行!
チーン...
nsfw な出力になってしまい、期待通りのデータが出ませんでした。
前回同様、Seed ランダムで回してみる
一番近い見た目をした絵はこちらでした。
対象の大きさといい、耳の大きさといい、かなり近いものになった気がします。
まとめ
まだ、ダメでした!
パラメータはたぶん一致しているはずなので、
残りは、実際に使用しているモデルが多少違うとかでしょうか?
AnyLoRA は使っているものの、モデルIDしか指定していないので何がロードされているかわかっていません。
Model: AnyLoRA_bakedVae_fp16_NOTpruned
の記載が気になっているところです。