-
Notifications
You must be signed in to change notification settings - Fork 88
fix[example/hunyunvideo]:HunyuanVideo is compatible with MindSpore 2.6 and 2.7 #1382
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
base: master
Are you sure you want to change the base?
Conversation
Summary of ChangesHello @iugoood, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request primarily focuses on enhancing the compatibility of the HunyuanVideo project with MindSpore versions 2.6 and 2.7. It addresses several bugs, including a critical fix for Group Normalization precision during model operations, corrections in command-line argument parsing for training scripts, and adjustments to how activation functions and text encoder outputs are handled. The overall aim is to improve the stability and functionality of the HunyuanVideo framework within the specified MindSpore environments. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
147f320 to
29ed7a2
Compare
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.
Code Review
This pull request introduces compatibility fixes for HunyuanVideo with MindSpore 2.6 and 2.7. The changes include correcting an indexing issue for hidden states, fixing an activation function call, making command-line arguments optional, and adding a new GroupNorm class to address precision-related misalignments. The changes are generally well-implemented and address the stated goals. My review includes one suggestion to improve the maintainability of the new GroupNorm class.
| if self.affine: | ||
| x = group_norm(x, self.num_groups, self.weight.to(x.dtype), self.bias.to(x.dtype), self.eps) | ||
| else: | ||
| x = group_norm(x, self.num_groups, self.weight, self.bias, self.eps) | ||
| return x |
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.
The construct method can be made more concise and maintainable by removing the duplicated call to group_norm. You can prepare the weight and bias tensors before a single call.
| if self.affine: | |
| x = group_norm(x, self.num_groups, self.weight.to(x.dtype), self.bias.to(x.dtype), self.eps) | |
| else: | |
| x = group_norm(x, self.num_groups, self.weight, self.bias, self.eps) | |
| return x | |
| weight = self.weight | |
| bias = self.bias | |
| if self.affine: | |
| weight = weight.to(x.dtype) | |
| bias = bias.to(x.dtype) | |
| return group_norm(x, self.num_groups, weight, bias, self.eps) |
What does this PR do?
HunyuanVideo is compatible with MindSpore 2.6 and 2.7
Fixes # (issue)
Adds # (feature)
Before submitting
What's New. Here are thedocumentation guidelines
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.
@xxx