Skip to content

Commit 88ffb00

Browse files
authored
Detect 2.0 vs 2.1 ZImageControlNetModel (#12861)
* Detect 2.0 vs 2.1 ZImageControlNetModel * Possibility of control_noise_refiner being removed
1 parent b6098ca commit 88ffb00

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

src/diffusers/loaders/single_file_utils.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,8 @@
226226
"cosmos-2.0-v2w-14B": {"pretrained_model_name_or_path": "nvidia/Cosmos-Predict2-14B-Video2World"},
227227
"z-image-turbo": {"pretrained_model_name_or_path": "Tongyi-MAI/Z-Image-Turbo"},
228228
"z-image-turbo-controlnet": {"pretrained_model_name_or_path": "hlky/Z-Image-Turbo-Fun-Controlnet-Union"},
229-
"z-image-turbo-controlnet-2.x": {"pretrained_model_name_or_path": "hlky/Z-Image-Turbo-Fun-Controlnet-Union-2.1"},
229+
"z-image-turbo-controlnet-2.0": {"pretrained_model_name_or_path": "hlky/Z-Image-Turbo-Fun-Controlnet-Union-2.0"},
230+
"z-image-turbo-controlnet-2.1": {"pretrained_model_name_or_path": "hlky/Z-Image-Turbo-Fun-Controlnet-Union-2.1"},
230231
}
231232

232233
# Use to configure model sample size when original config is provided
@@ -784,7 +785,13 @@ def infer_diffusers_model_type(checkpoint):
784785
raise ValueError(f"Unexpected x_embedder shape: {x_embedder_shape} when loading Cosmos 2.0 model.")
785786

786787
elif CHECKPOINT_KEY_NAMES["z-image-turbo-controlnet-2.x"] in checkpoint:
787-
model_type = "z-image-turbo-controlnet-2.x"
788+
before_proj_weight = checkpoint.get("control_noise_refiner.0.before_proj.weight", None)
789+
if before_proj_weight is None:
790+
model_type = "z-image-turbo-controlnet-2.0"
791+
elif before_proj_weight is not None and torch.all(before_proj_weight == 0.0):
792+
model_type = "z-image-turbo-controlnet-2.0"
793+
else:
794+
model_type = "z-image-turbo-controlnet-2.1"
788795

789796
elif CHECKPOINT_KEY_NAMES["z-image-turbo-controlnet"] in checkpoint:
790797
model_type = "z-image-turbo-controlnet"

src/diffusers/pipelines/z_image/pipeline_z_image_controlnet.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,13 @@
5858
>>> # torch_dtype=torch.bfloat16,
5959
>>> # )
6060
61-
>>> # 2.0 - `config` is required
61+
>>> # 2.0
6262
>>> # controlnet = ZImageControlNetModel.from_single_file(
6363
>>> # hf_hub_download(
6464
>>> # "alibaba-pai/Z-Image-Turbo-Fun-Controlnet-Union-2.0",
6565
>>> # filename="Z-Image-Turbo-Fun-Controlnet-Union-2.0.safetensors",
6666
>>> # ),
6767
>>> # torch_dtype=torch.bfloat16,
68-
>>> # config="hlky/Z-Image-Turbo-Fun-Controlnet-Union-2.0",
6968
>>> # )
7069
7170
>>> pipe = ZImageControlNetPipeline.from_pretrained(

src/diffusers/pipelines/z_image/pipeline_z_image_controlnet_inpaint.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,13 @@
5050
... torch_dtype=torch.bfloat16,
5151
... )
5252
53-
>>> # 2.0 - `config` is required
53+
>>> # 2.0
5454
>>> # controlnet = ZImageControlNetModel.from_single_file(
5555
>>> # hf_hub_download(
5656
>>> # "alibaba-pai/Z-Image-Turbo-Fun-Controlnet-Union-2.0",
5757
>>> # filename="Z-Image-Turbo-Fun-Controlnet-Union-2.0.safetensors",
5858
>>> # ),
5959
>>> # torch_dtype=torch.bfloat16,
60-
>>> # config="hlky/Z-Image-Turbo-Fun-Controlnet-Union-2.0",
6160
>>> # )
6261
6362
>>> pipe = ZImageControlNetInpaintPipeline.from_pretrained(

0 commit comments

Comments
 (0)