Closed zzz7xz closed 11 months ago
Issueを分けるべきでしたらすみません。別件で、Save current merge(fp16 only)が想定の通り動作していないように思います。 Merge!で一時的に合成したモデルと、save modelオプションをつけて保存したモデルは同じ結果が出力されますが、 Save current merge(fp16 only)で保存したモデルは異なる結果が出力されます。
known bug exists. when using any LoRA in the prompt, Save current merge
will not work correctly.
Thanks for the info. Though, even without LoRA in Prompt, save model
and save current merge (fp16 only)
seem to output different models.
英語しかないので申し訳ないのですが https://github.com/hako-mikan/sd-webui-supermerger/blob/main/calcmode_en.md それぞれのcalcmodeには適応できるモードが限られています Save current merge(fp16 only)については確認してみます
Save current merge(fp16 only)の問題はLoRAが関係しているようですね。 Web-UIの仕様でLoRAを使用するとLoRAのウェイトを変更するまではLoRAを合成した状態でモデルを取り扱うのでそのまま保存するとLoRAごと保存され、そのモデルをLoRAと使用するとLoRAの効力が2倍になります。Adjustの問題も同様の起源ですので、これは対応します。
ありがとうございます!
英語しかないので申し訳ないのですが https://github.com/hako-mikan/sd-webui-supermerger/blob/main/calcmode_en.md それぞれのcalcmodeには適応できるモードが限られています
cosineA/cosineB
Available modes : weight sum
上記の部分ですね。読み飛ばしていました。失礼いたしました。 2個の合成2回で対応いたします。
Save current merge(fp16 only)の問題はLoRAが関係しているようですね。
こちらはLoRAを使用していなくても起きるように思います。 WebUI起動(Promptは空欄)→ Merge → Save current merge(fp16 only) で保存したモデルはToolkitで解析すると、
Model is 1.99 GB. Multiple model types identified: UNET-v1-BROKEN, VAE-v1-BROKEN. Model type UNET-v1-BROKEN will be used. Model components are: UNET-v1-SD.
Contains 394.30 MB of junk data!
Model will be pruned to 1.60 GB.
同条件で WebUI起動(Promptは空欄)→ Merge(save modelオプションあり)で保存したモデルは、
Model is 1.99 GB. Model type identified as SD-v1. Model components are: CLIP-v1-SD, VAE-v1-SD, UNET-v1-SD.
Contains no junk data.
Model is unaltered, nothing to be done.
となります。
Web-UIの仕様でLoRAを使用するとLoRAのウェイトを変更するまではLoRAを合成した状態でモデルを取り扱うのでそのまま保存するとLoRAごと保存され、そのモデルをLoRAと使用するとLoRAの効力が2倍になります。Adjustの問題も同様の起源ですので、これは対応します。
WebUI側の仕様なのですね。承知いたしました。対応いただけるとのことで、ありがとうございます。
(Adjustの効果が別のモデルにも影響するのは、それはそれで面白かったりします。 知る限りモデルの明るさや色の調整を数値で行ってすぐに試せる方法がないので。 CD TunerのIssuesにも要望として挙げさせていただきましたが、あちらの拡張で後加工ではなく明るさや色を調整できるとありがたいです。仕組みを分かっていないので、無茶を言っていたらすみません…。)
Save current model時にLoRAまで一緒に合成されてしまう問題は解決しました。また、READMEにMerge ModeとCalcmodeの対応表を追加しました。
ご対応ありがとうございます!確認いたしました。
--
ImportError: cannot import name 'EulerDiscreteScheduler' from 'diffusers' (J:\stable-diffusion-webui\venv\lib\site-packages\diffusers\__init__.py)
更新後、起動時上記のエラーが2回出て本拡張が読み込まれませんでしたが、venv内にあった diffusers
と diffusers-0.3.0.dist-info
フォルダを削除したところ、新しいdiffusersがインストールされ拡張も読み込まれました。
--
Save current merge(fp16 only)
の件は、出力結果に目視の範囲では差異は見られなくなりました。
ただ、若干異なるモデルが出力されているようです。
Merge! -> Save current merge(fp16 only)
Report (1833/0041/0018)
Model is 1.99 GB. Model type identified as SD-v1. Model components are: CLIP-v1-SD, VAE-v1-SD, UNET-v1-SD.
Contains no junk data.
Uses the WD-VAE-v2 VAE.
Model is unaltered, nothing to be done.
Total keys: 1143 (1.99 GB).
Merge! (save model)
Report (1833/2662/0018)
Model is 1.99 GB. Model type identified as SD-v1. Model components are: CLIP-v1-SD, VAE-v1-SD, UNET-v1-SD.
Contains no junk data.
Model is unaltered, nothing to be done.
Total keys: 1131 (1.99 GB).
追記です。
Save current merge(fp16 only)は、Bake in VAEにNoneを設定していても、そのとき読み込んでいたSD VAEの情報もマージされるようです。
SD VAEをkl-f8-anime2.vae.ptからNoneに変更した場合、Uses the WD-VAE-v2 VAE.
は表示されなくなりました。
ただ、それでもTotal keys: 1143
で、Merge! (save model)のTotal keys: 1131
とは異なるようです。
Merge! -> Save current merge(fp16 only) (SD VAE: None)
Report (1833/2662/0018)
Model is 1.99 GB. Model type identified as SD-v1. Model components are: VAE-v1-SD, UNET-v1-SD, CLIP-v1-SD.
Contains no junk data.
Model is unaltered, nothing to be done.
Total keys: 1143 (1.99 GB).
Total keysが異なる問題は修正されました。
3つのモデルを合成する際、Calculation ModeをcosineAやcosineBにするとbetaの数字を変えても Model AとModel BのWeight sumと同じ結果が出力され、Model Cは合成されていないようです。 normalの場合は合成されます。