Image tab and T2I tab batch generations behave differently when enabling refiner pass? #4327
Replies: 6 comments 6 replies
-
|
thanks for the detailed write-up it helps. i'll investigate and update here. |
Beta Was this translation helpful? Give feedback.
-
|
prompt: i cannot reproduce the problem, what am i missing?
this is fine, expected. first hires caused a switch to StableDiffusionXLImg2ImgPipeline. for following images, sdnext simply avoided switching back to StableDiffusionXLPipeline pipeline before each image since there was no operation to do before it would have to switch back to StableDiffusionXLImg2ImgPipeline anyhow.
refine steps=0 doesn't mean 0-steps, it means use same steps as base generate, but adjusted for denoise strength. |
Beta Was this translation helpful? Give feedback.
-
i doubt this has anything to do with modernui, this feels like a core thing. but please confim after updating modernui.
not relevant for this, but refiner start 0 or 1 means no refiner, so original model is going to be used.
this would happen if you're using batch-size. anyhow, i cant reproduce using the steps i wrote down - did i miss anything? |
Beta Was this translation helpful? Give feedback.
-
yup.
ah, you're still on 10/18 release. yes, let me know. |
Beta Was this translation helpful? Give feedback.
-
|
none of those settings have impact on this issue. |
Beta Was this translation helpful? Give feedback.
-
|
I am posting now only because I want you to know you are not alone. I have exactly same issue. |
Beta Was this translation helpful? Give feedback.




Uh oh!
There was an error while loading. Please reload this page.
-
New user, migrating over from A1111 in the last couple of days so this might be a known issue but this took me forever to figure out and it is, in my opinion, pretty non-intuitive if it is intentional. Also not sure if, assuming this is not intentional, it is a ModernUI bug or an SD.Next bug. I was going to file this as an issue but decided to post a discussion first.
This is on the latest commit, Windows 11, extremely standard install that I haven't really done much tweaking with, no extensions, pretty much only thing I've touched settings-wise (at least until trying to troubleshoot this) was to direct SD.Next to pick up my models etc from my old A1111 install so I can still use both side by side if needed.
The UI starts on the "Images" workflow tab for SD models, so that was where I was also starting.
When you add a simple text prompt, turn on eg 3 batches, batch size 1. Set seed to random (-1) and generate, you will get three different images based on your prompt and seed, exactly like you would expect. No controlnets, no image sources or sketches or anything, no additional networks, just raw simple text prompt to image.
Enable the refiner pass, upscale to 2x with any upscaler and force hires. Set Refiner start to 0, refiner steps to 0 (though this does not seem to make a difference for the issue). You will get three images, but they will be almost identical, which is really not what you expect especially since this isn't how it works with the refiner off. Inspecting them, each will have gotten a new seed applied. If you are using wildcards in your prompt, the prompt in the metadata will reflect that, but the images themselves are essentially identical, but not quite.
Saving out the "before hires fix" image shows something more curious - the before image for the second and third generation in the batch is already upscaled, and while the first pre-hires image saved out is tagged with pipeline "StableDiffusionXLPipeline" all subsequent images will have changed to StableDiffusionXLImg2ImgPipeline instead. I didn't even notice this initially because I assumed that the refiner & hires pass would be img2img normally since that's what's happening under the covers. Plus looking at my logs I still see it doing a 30-step generation and then a 10-step hires pass on each one.
Basically, I assume it is feeding each image of the batch back into itself via img2img, rather than doing what you would expect it to do based on the behavior without refiner pass on, which is just doing a standard text to image generation with a fresh / fixed seed a number of times in a row, applying hires each time.
If you actually go down to the T2I tab, copy prompt and all settings over, enable a batch of images, enable refiner pass, everything will work exactly the way you would expect it to, which is largely the way it worked in A1111 and family as well, you'll get three different images that have been upscaled and hiresed, same as you would with hires.fix, albeit sadly without the ability to do the hires pass with a different model.
I'm not sure if this is actually an issue or not, but in my opinion if it is a deliberate choice the behavior is unexpected enough that it should probably be documented somewhere. Happy to file an issue for this if it sounds like an actual bug, would need guidance on whether it would be a SD.Next bug or a ModernUI bug as well.
Beta Was this translation helpful? Give feedback.
All reactions