easydiffusion
easydiffusion copied to clipboard
Upscale incorrect in batch mode with euler_a sampler
Describe the bug
When using the euler_a
sampler and running images in batches, using the "Upscale" button will produce a different image.
To Reproduce Steps to reproduce the behavior:
- Create images with any prompt in batches, e.g. 9 images total with 3 in a batch.
- Click on 'Upscale'
- See that a different image is created
Expected behavior The same image, just fed through the upscaler.
Screenshots
Here, a batch of images was generated (using batch mode). Of the three depicted here, the middle one was enqueued for upscaling. The seeds match, but the images do not.
Desktop (please complete the following information):
- OS: Windows 11 2H22
- Browser: Brave v1.44.112, based on Chromium 106.0.5249.119
- Version: Stable Diffusion UI v2.23 (beta)
Additional context Likely related to #311.
I have a feeling that at some point this got fixed, but then as the Double size was removed, this issue returned. This is due to a-samplers' results being dependent on batch size, and I certainly recall that for some time the image buttons such as Upscale were fixing it by launching the job with proper batch to reproduce exact image, but then it reverted back to old behavior.
This is a typical behaviour of ancestral sampler. Since this can not be fixed, it was added to the user documentation. https://github.com/cmdr2/stable-diffusion-ui/wiki/How-to-Use
What prevents you from just launching upscale with the same batch params as the image to be upscaled had? Yes, that's extra work, but that's in no way "can not be fixed", especially when it the other popular UI ancestral samplers don't depend on batch size.
As I mentioned before, doubling also used to work properly for a while exactly that way - it was launching the whole batch to get the correct ancestral configuration.