Closed brian000 closed 1 year ago
I was able to figure out how exactly this works: it sets a main seed and a variation seed, and then sets that variation seed strength.
Each frame except for the "pure" ones has a variation seed in it, which is the next "pure" seed it will use. As frames are rendered, the variation seed strength goes up until it reaches the next pure seed.
I've tested another run with SD1.5, and it doesn't seem to be caused by SD2. It did however work just fine with DPM++2M and Euler on both SD1.5 and 2, so I'll blame the DPM++ SDE sampler not playing nice with this script (like Euler a).
Sorry for the late reply. Yes, it seems like some samplers doesn't play nice with variation seeds. I think it might have something to do with this part: https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/4b3c5bc24bffdf429c463a465763b3077fe55eb8/modules/processing.py#L348
That some samplers need random noise (I think), but it isn't treated the same way as the noise you get from the seed(s). Hopefully I'll find time someday to dig further and try to understand what it does and if you can fix it somehow.
It looks like the transition between seeds appears to be broken. I'm not sure if it's SD2 or something with Auto1111. I've tried a run of:
It creates the first 30 images without issue and mostly the same (the variation is visible), but when it comes around to image 31 (when it starts a new seed), it's wildly different. I've uploaded the first 60 output frames up to Mega (since imgur hates webp); you can clearly see where it abruptly cuts to a new seed rather than slowly transitioning over.
For what it's worth, I'm running the latest (as of now) auto1111 at 4b3c5bc. I'm really not sure if it's an auto1111 issue or something with the SD2 model, but the script is definitely not functioning like it used to.