Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI crash on 1024x1024 #2

Open
mahdiyari opened this issue Sep 5, 2022 · 12 comments
Open

UI crash on 1024x1024 #2

mahdiyari opened this issue Sep 5, 2022 · 12 comments

Comments

@mahdiyari
Copy link

mahdiyari commented Sep 5, 2022

My UI crashes when going 1024x1024
The GPU is AMD and on linux
6700xt 12gb vram
Lower resolutions work fine such as 1024x512

After UI crash the script never ends. I have to kill the docker container and UI from terminal.

PS. using the attention from main branch and updated model.py

@Doggettx
Copy link
Owner

Doggettx commented Sep 6, 2022

What is your UI? There's always going to be a limit to how high you can go btw before it starts crashing.. These changes just push that limit higher.

I've just released a new update, might allow you to go higher.

@mahdiyari
Copy link
Author

mahdiyari commented Sep 6, 2022

kubuntu (KDE, pascal)

The weird thing was crashing of the UI not the script itself. Script keeps running and sucks all the cpu too it seems.

@Doggettx
Copy link
Owner

Doggettx commented Sep 6, 2022

ah ok weird, CPU usage should be minimal, almost all work is done on the GPU.

It's possible it was going to way too high number of steps. I've put a reasonable limit (64) on it that should fix that. You'll get an error now if you go too high with the max possible res (for a square)

@mahdiyari
Copy link
Author

btw is there any difference in terms of image in full vs half? I see you changed the model to half.

@Doggettx
Copy link
Owner

Doggettx commented Sep 6, 2022

Shouldn't be, although there's a minor difference if you run generation in full mode as well, but need to fix the code for that still probably. haven't tested it yet, but I assume you'll need twice the memory while generating.

@mahdiyari
Copy link
Author

mahdiyari commented Sep 6, 2022

I just tried again with the updated codes and it crashed at half precision too. The same way it did before. Although there was no cpu nor gpu usage after UI crash. Only gpu VRAM was full and script still running.
Did try 2048x512

Edit: There is no problem on 1536x512 at full precision. Vram usage is 8.6 out of 12 available.

@Doggettx
Copy link
Owner

Doggettx commented Sep 6, 2022

Did you also update the attention.py and model.py?

@mahdiyari
Copy link
Author

Yes those are the only files I updated. I use lstein fork with k_euler_a sampler.

@mahdiyari
Copy link
Author

mahdiyari commented Sep 12, 2022

I did find out the code never gets past this line at i_level = 1 at higher res
I will try to dig deeper and find where it gets stuck.

h = self.up[i_level].upsample(t)

Update:
Going deeper it gets stuck here

@mahdiyari
Copy link
Author

Update on this issue:
I did figure out .interpolate and .conv2d is where it fails and struggles on higher resolutions.
I did split the image into multiple chunks and it did successfully go through both functions and generated the image. It is somehow faster in the last stage by doing so. Almost instant.

@Doggettx
Copy link
Owner

Weird, haven't seen anyone who had problems at that point, any chance you can do a pull request with your changes? Or post them here?

@mahdiyari
Copy link
Author

I will do a PR here. My changes should increase the res limit but still, there's a lot of potential in the upsampling to increase the resolution limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants