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.47k stars 312 forks source link

Mismatch between selected Strength and history Strength #838

Closed arcusmaximus closed 3 months ago

arcusmaximus commented 3 months ago

image

This happens with other strengths too, e.g. generating with 60% results in a history entry with 62%.

FWIW, this is with an SDXL Turbo model. Using version 1.18.1 of the plugin.

Drakosha405 commented 3 months ago

very few steps and 80% is not an integer. the nearest value with an integer in your range = 75%.

Acly commented 3 months ago

To clarify a bit more, strength is actually a fraction of total steps. If you have 4 total steps (and we simplify a bit), strength can be 1/4=25%, 2/4=50%, 3/4=75%, etc.

The slider allows you to configure a user preference, but the actual value is rounded to the closest fraction. So the value shown in the history is correct and more precise. Admittedly it's somewhat confusing that they diverge, maybe the history should show what was configured.

arcusmaximus commented 3 months ago

I see, thanks for the explanation. I come from A1111 which doesn't display the rounded value, so I never realized it's tied to the step count.

FeepingCreature commented 3 months ago

I guess if the strength setting snapped to the closest value, it would break if you changed model...

Maybe it should say "75% (15/20)" and snap to the closest value on up/down instead of going in 5% steps?

If that's acceptable, I'm gonna try implementing it.

FeepingCreature commented 3 months ago

Doesn't really fix this bug to be honest, because the slider still doesn't snap.

But if we want to avoid changing the value on style change, it'll always be possible to end up with a value that doesn't match reality.

Maybe now that we have the step count suffix, we can change the history entries to showing steps?

edit: Slider snaps now (in the PR).