1
0
mirror of https://github.com/huggingface/diffusers.git synced 2026-01-29 07:22:12 +03:00

Support ControlNet models with different number of channels in control images (#3815)

support ControlNet models with a different hint_channels value (e.g. TemporalNet2)
This commit is contained in:
Hans Brouwer
2023-06-21 13:11:45 +02:00
committed by GitHub
parent 3ebbaf7c96
commit ef3844d3a8
2 changed files with 3 additions and 0 deletions

View File

@@ -93,6 +93,7 @@ class ControlNetModel(ModelMixin, ConfigMixin):
def __init__(
self,
in_channels: int = 4,
conditioning_channels: int = 3,
flip_sin_to_cos: bool = True,
freq_shift: int = 0,
down_block_types: Tuple[str] = (
@@ -185,6 +186,7 @@ class ControlNetModel(ModelMixin, ConfigMixin):
self.controlnet_cond_embedding = ControlNetConditioningEmbedding(
conditioning_embedding_channels=block_out_channels[0],
block_out_channels=conditioning_embedding_out_channels,
conditioning_channels=conditioning_channels,
)
self.down_blocks = nn.ModuleList([])

View File

@@ -286,6 +286,7 @@ def create_unet_diffusers_config(original_config, image_size: int, controlnet=Fa
"use_linear_projection": use_linear_projection,
"class_embed_type": class_embed_type,
"projection_class_embeddings_input_dim": projection_class_embeddings_input_dim,
"conditioning_channels": unet_params.hint_channels,
}
if not controlnet: