-
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
Animatediff Proposal #5413
Animatediff Proposal #5413
Conversation
The documentation is not available anymore as the PR was closed or merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added some final comments. It would be great if you could go over them and then I think we can merge tomorrow!
|
||
hidden_states = self.proj_in(hidden_states) | ||
encoder_hidden_states = encoder_hidden_states if self.use_cross_attention else None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't understand why we need this. If cross_attention_dim
is None then why do we have to manually set encodre_hidden_states to None
. This looks more like a hacky bug correction. Why do we pass encoder_hidden_states
in the first place if we don't have cross attention?
Great job! |
* draft design * clean up * clean up * clean up * clean up * clean up * clean up * clean up * clean up * clean up * update pipeline * clean up * clean up * clean up * add tests * change motion block * clean up * clean up * clean up * update * update * update * update * update * update * update * update * clean up * update * update * update model test * update * update * update * update * make style * update * fix embeddings * update * merge upstream * max fix copies * fix bug * fix mistake * add docs * update * clean up * update * clean up * clean up * fix docstrings * fix docstrings * update * update * clean up * update
* draft design * clean up * clean up * clean up * clean up * clean up * clean up * clean up * clean up * clean up * update pipeline * clean up * clean up * clean up * add tests * change motion block * clean up * clean up * clean up * update * update * update * update * update * update * update * update * clean up * update * update * update model test * update * update * update * update * make style * update * fix embeddings * update * merge upstream * max fix copies * fix bug * fix mistake * add docs * update * clean up * update * clean up * clean up * fix docstrings * fix docstrings * update * update * clean up * update
* draft design * clean up * clean up * clean up * clean up * clean up * clean up * clean up * clean up * clean up * update pipeline * clean up * clean up * clean up * add tests * change motion block * clean up * clean up * clean up * update * update * update * update * update * update * update * update * clean up * update * update * update model test * update * update * update * update * make style * update * fix embeddings * update * merge upstream * max fix copies * fix bug * fix mistake * add docs * update * clean up * update * clean up * clean up * fix docstrings * fix docstrings * update * update * clean up * update
What does this PR do?
Adds the AnimateDiff model to
diffusers
.This PR:
UNetMotionModel
and motion blocks that allow using existing 2D UNet models with the Motion Modules introduced in AnimateDiff.The approach taken by AnimateDiff is slightly different to a 3D UNet. No temporal convs are applied to the inputs and the motion module weights are saved separately from the 2D UNet weights. This is slightly similar to a ControlNet/Adapter approach so IMO it would be better to create a dedicated model and blocks to support this type of functionality, rather than adapt the existing 3D UNets.
MotionAdapter
module that acts as a dedicated container for saving and loading motion module weights from the hub.Proposed API
TODO:
Fixes # (issue)
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.