-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
#7886
Conversation
Co-authored-by: Bagheera <[email protected]>
latents.dtype
before vae.decode()
at ROCmlatents.dtype
before vae.decode()
at ROCm in StableDiffusionPipeline
s
latents.dtype
before vae.decode()
at ROCm in StableDiffusionPipeline
slatents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
so i can actually hit this one on CUDA, but it only happens during training without autocast 🤔 the weights are in bf16 precision, not fp32. maybe this is what causes it? |
Since I don't have a ROCm device, I can't work on this PR directly :/ What to do here? |
inferencing is when the error occurs, but that's generally during training time, as the components can be initialised with different weight dtypes. it's not really clear why the scheduler can change the dtype other than certain calculations end up with the default torch dtype of float32 when one isn't specified, and i think autocast takes care of this. but we can't rely on autocast existing or being in use, because not all platforms support it - and future training might not use it at all, instead relying on bf16 optimiser states. |
latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
sSleeping
] Fix latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
Sleeping
] Fix latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
slatents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
slatents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
slatents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
latents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
slatents.dtype
before vae.decode()
at ROCm devices in StableDiffusionPipeline
s
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Please note that issues that do not follow the contributing guidelines are likely to be ignored. |
@tolgacangoz |
because it has dtype inconsistency upon vae.decode especially when vae is upcast outside of the pipeline |
@bghira is this used in training? |
Co-authored-by: Bagheera [email protected]
What does this PR do?
This was talked about at a previous PR: #7858.
Before submitting
documentation guidelines, and
here are tips on formatting docstrings.
Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@yiyixuxu @bghira