lshqqytiger / stable-diffusion-webui-amdgpu

Stable Diffusion web UI
GNU Affero General Public License v3.0
1.8k stars 186 forks source link

[Feature Request]: There should be a thing that slows down the generation process #200

Closed Spas120 closed 1 year ago

Spas120 commented 1 year ago

Is there an existing issue for this?

What would your feature do ?

There should be a thing that slows down the generation process so people can generate bigger images without it crashing. it happened to me when i use --no-half and it was actually really useful but --no-half just crashes it whenever added so there should be a option to slow down the generation process since i was able to generate 1000x1000 pixels big images without it crashing when using --no-half.

Proposed workflow

There should be like a switch or button that turns on slower generations and i hope it shouldnt be to hard to add

Additional information

This feature would help many people in my opinion since there are some other people that want to make bigger images but cant

lshqqytiger commented 1 year ago

There are --medvram and --lowvram for that purpose.

Spas120 commented 1 year ago

There are --medvram and --lowvram for that purpose.

it doesnt change anything tho they both do the same to at least for me and maybe even for more people

Spas120 commented 1 year ago

There are --medvram and --lowvram for that purpose.

in fact the lowvram actually crashes it faster so there should be an option for slow generation like when i used --no-half for slow generations before it just started to not work at all it would go slow and use less gpu and then spikes to more gpu being used for a bit and then goes back to less gpu and then it kept repeating that and i was actually able to make 1000x1000 pixel big images without it crashing every minute

Spas120 commented 1 year ago

There are --medvram and --lowvram for that purpose.

please consider adding a slow down feature to it cause --medvram and --lowvram dont change anything besides one crashes faster then the other

lshqqytiger commented 1 year ago

"slowing down" and "making larger image generatable" are separate matters. Slowing down does not allow us to generate larger image. Large image generation requires the memory space which is sufficient to store large tensors. Luckily, we have "tiling" technique which helps us to generate larger images.

Spas120 commented 1 year ago

"slowing down" and "making larger image generatable" are separate matters. Slowing down does not allow us to generate larger image. Large image generation requires the memory space which is sufficient to store large tensors. Luckily, we have "tiling" technique which helps us to generate larger images.

tiling crashes it faster and im just saying slowing it down helped me create bigger images before like i said --no-half did it once and it would use less gpu and then spike up using more gpu and then goes back down and so on and thats what im talking about when i say slowing down cause that process can take hours depending on image size

Helius22 commented 1 year ago

Doesn't hires. fix basically do what you're looking for? It's a lot slower but you can use it to make higher resolution pictures which also don't suffer from possible issues normal high-resolution generation brings, like most of the finished image being noise.

The model doesn't crash because it's "going too fast". It crashes if it runs out of vram to use, "slowing down" the process would just mean you wait longer before it crashes.

Also, --no-half isn't a "slowdown". It's more like "half" is a speedup, but as for now it's less stable than full precision.

Spas120 commented 1 year ago

Doesn't hires. fix basically do what you're looking for? It's a lot slower but you can use it to make higher resolution pictures which also don't suffer from possible issues normal high-resolution generation brings, like most of the finished image being noise.

The model doesn't crash because it's "going too fast". It crashes if it runs out of vram to use, "slowing down" the process would just mean you wait longer before it crashes.

Also, --no-half isn't a "slowdown". It's more like "half" is a speedup, but as for now it's less stable than full precision.

i know --no-half isnt a slowdown im just saying when i used it the generation process was slow and i was using it as an example for what im trying to say also hires. fix still crashes and doesnt it just resize the image once its done generating? i can easily do that in extras

Helius22 commented 1 year ago

Ahh my bad I mixed up hires fix with something else. Lookup "Controlnet 1.1 tiles tutorial." You still need to generate a lower resolution image close to what you want for your end result and then run it through img2img with controlnet for that high resolution.

The way it works is it renders parts of the image with the "tile" resolution and blends them together. Your gpu shouldn't run out of memory as long as it can handle the resolution of 1 tile, and the more tiles you add the higher the end resolution in exchange for it taking more time.

Spas120 commented 1 year ago

Ahh my bad I mixed up hires fix with something else. Lookup "Controlnet 1.1 tiles tutorial." You still need to generate a lower resolution image close to what you want for your end result and then run it through img2img with controlnet for that high resolution.

The way it works is it renders parts of the image with the "tile" resolution and blends them together. Your gpu shouldn't run out of memory as long as it can handle the resolution of 1 tile, and the more tiles you add the higher the end resolution in exchange for it taking more time.

I tied a tutorial for this and once i clicked generate my pc screen instantly went out