Acly / krita-ai-diffusion

Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required.
https://www.interstice.cloud
GNU General Public License v3.0
6.51k stars 313 forks source link

New strength system not comparable to old? (Maybe hallucination...) #926

Closed GeminiSquishGames closed 2 months ago

GeminiSquishGames commented 3 months ago

It seems like the new strength is strange and the new out put and the reason for making the resolution lower doesn't seem to fit my experience. I would get plenty of change with any %5 shifts or even finer, even with LCM. I had thought the strength was Denoise based rather than step based anyway. This would make more sense in the Live mode and refine modes as Denoise gives you the same concept as strength in IMG2IMG. Not even sure where denoise is set now that it, or always was, the number of steps or percentage of steps. (I swear it worked better and with very small increments as well, not to just be contrary to the reason it was changed) While steps are more for how much processing detail you want to go into it. Or maybe it should be both or is? I don't see where I can change the denoise factor which is kind of handy for making specific little fixes at lower amounts but differs greatly from SD model to model. I kind of wish I did have control over denoise, CFG, and Steps in the widget together rather than in the config, that's how I generally do it in everything else, but that maybe a matter of having talked and tested to more Krita artists than SD nuts such as myself.

Also, maybe some weird calculation issues with 1.20: image

That's with 8 step hyper... heh, the math is right though, but rounding issue. I would think has no affect on the results. It kinda almost feels like it's based on denoise but you are using the amount of steps to show the percentage now? Sorry if I'm missing something here, lol.

Acly commented 2 months ago

Strength% is the same as Denoise%. It is not a separate concept from steps, just a user-friendly presentation:

denoise% = actual_steps / total_steps

Nothing about strength changed except the UI now shows more transparently what was always happening underneath.

All UIs typically allow you to tweak 2 of those values and compute the 3rd. So either

  1. set actual_steps and use denoise% to compute the total_steps
  2. set total_steps and use denoise% to compute the actual_steps

ComfyUI KSampler does (1), and KSamplerAdvanced does (2). The plugin generally does (2), but switches to (1) below certain minimum steps (default 4), which explains what you're seeing at 5% strength.

https://github.com/Acly/krita-ai-diffusion/wiki/Samplers#steps-strength-and-minimum-steps https://invoke-ai.github.io/InvokeAI/features/IMG2IMG/

858 contains a lot of technical detail on this topic...

GeminiSquishGames commented 2 months ago

Sorry for the confusion on my part, that does make it more convenient, and I derped and didn't realize I can just put whatever number in the wee box. Thanks for putting up with me...