#Trying to understand where variations come from when settings are the same

14 messages · Page 1 of 1 (latest)

unborn stump
#

Hey all - I've been searching for info on this, but not finding any, so I thought I'd check here in case someone can point me in the right direction.

In other SD UI systems, when all settings are the same, we get the same image every time. Invoke lets us create multiple images in one click with the same settings, and they're different. Where is that happening? What information is being used to create the variations when the options we control are all the same?

I've attached a specific example, in case it helps. Both of these images were generated locally on my computer (Windows 10, Nvidia GeForce GTX 1060,) in the 2.2.5 web interface, with the prompt below, no starting image, no inpainting or outpainting:
a photorealistic portrait of a winter elf, professionally retouched, soft lighting, hyper realistic, sharp focus, high definition, insanely detailed [signature logo]

Other creation info:
2 images, 30 steps, 8 cfg, 512x512, k_dpmpp_2, seed: 2648114885 / 0 noiseThreshold / 0 perlin noise, variations: off, faceRestoration: codeformer / 0.75 / 0.75, upscaling: off, otherOptions: seamlessTiling off, hiresOptim on. The model for both is seek_art_mega_v1.ckpt.

sullen saddle
#

Try turning hires optimization off. You don't need it at 512x512, and it means you're doing two full generations for each image instead of one. Because there are two generations, it may only be using the common seed value for one of them, which would explain the difference.

unborn stump
#

I see what you're saying, but I'm trying to figure out where the difference is coming from when we choose to run more than one image at a time. Maybe a little more explanation of my experimenting might clarify.

If I hit Invoke using a config that runs a single image, I'll get the same one every time as long as I don't change anything. But if I hit Invoke on that same config when 'images' is instead set to 2, I'll get two images that are different from each other. Something I can't see in the UI is making image 2 different from image 1.

I'm not saying this is a bug, in fact it's a feature I love, I'm just trying to understand how it works.

For additional experimenting, I turned hires off and then ran sets of 2, 4, and 6 images with the same settings and model as above. As expected, the new two were different from the first two, which makes sense since one setting changed: hires. However, they were also just as different from each other as the first two, one male and one female.

The first two images in the set of four were identical to the previous run of two, but images 3 and 4 were variations on the female only. In the run of six, the first four images exactly matched the run of four, and the last two were more female variants.

An overview is attached, the originals will be added if anyone wants to see them.

sullen saddle
#

I think it automatically increments the seed, assuming that you don't actually intend to generate a bunch of copies of the same image...

unborn stump
#

Oh wow, it is a seed change! When I check the value on my image 1, it's the same as what I put into the Seed field, 1600017888. But when I check the seed on image 2, it's 1463327595. Not sure what kind of incrementing that is, but obviously this is the difference that's creating variants.

#

I'll have to research to figure out how 1600017888 and 1463327595 are related, if they are.

sullen saddle
#

It's probably using an rng seeded with the first seed to generate the second.

#

well, prng, obviously

unborn stump
#

Thank you, this was a big help. 😄

foggy thunder
#

@knotty oyster is this an intended behaviour? it happens when the Random Seed is toggled OFF, seems surprising...

wispy dirge
#

Yes, it is.

knotty oyster
#

This actually is an intended behavior. If you ask to generate more than one image, the first image will use the fixed random seed if the Random Seed toggle is off, or generate a new seed if Random Seed toggle is on. After that, the second and subsequent images will use new seeds under the assumption that the user does not want to generate multiple identical images.

Here's the twist. If you toggle off Random Seed and enter the seed of the first image of the series, you will get the identical series of images each time. Think of the Random Seed toggle as applying to a series of images rather than one image.

foggy thunder