-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Diffsynth #12317
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: main
Are you sure you want to change the base?
Diffsynth #12317
Conversation
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.
thanks for the PR!
I left some comments, it seems that it would work with our existing contorlnet with minimum changes, is this the case?
@@ -25,7 +25,11 @@ | |||
_import_structure["modeling_qwenimage"] = ["ReduxImageEncoder"] | |||
_import_structure["pipeline_qwenimage"] = ["QwenImagePipeline"] | |||
_import_structure["pipeline_qwenimage_controlnet"] = ["QwenImageControlNetPipeline"] | |||
<<<<<<< Updated upstream |
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.
can you remove these?
_import_structure["pipeline_qwenimage_controlnet_inpaint"] = ["QwenImageControlNetInpaintPipeline"] | ||
======= |
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.
======= |
_import_structure["pipeline_qwenimage_controlnet_inpaint"] = ["QwenImageControlNetInpaintPipeline"] | ||
======= | ||
_import_structure["pipeline_qwenimage_block_controlnet"] = ["QwenImageBlockControlNetPipeline"] | ||
>>>>>>> Stashed changes |
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.
>>>>>>> Stashed changes |
|
||
@torch.no_grad() | ||
@replace_example_docstring(EXAMPLE_DOC_STRING) | ||
def __call__( |
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.
pipeline looks like it's same as instantx one, no?
https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/qwenimage/pipeline_qwenimage_controlnet.py
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.
It does seem same at first, but controlnet is different, with some parameter and scheduler changes.
@@ -1068,3 +1068,4 @@ def forward( | |||
z = posterior.mode() | |||
dec = self.decode(z, return_dict=return_dict) | |||
return dec | |||
|
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.
controlnet_block_samples: Tuple[torch.Tensor] | ||
|
||
|
||
class BlockWiseControlBlock(torch.nn.Module): |
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.
is this the only difference between Diffsynth & instantX controlnet, can we just add the change to the existing one?
ef2226d
to
b4a24ba
Compare
Draft PR Description:
This PR (#12221) is a draft aimed at adding support for DiffSynth Blockwise ControlNet in diffusers.
References / Useful Links:
Model implementation & weights: Canny ControlNet
Model implementation & weights: Depth ControlNet
The PR is open for feedback, testing, and further adjustments from the community.