From 78501b11c32611478ca9342ab06052794bc9a12d Mon Sep 17 00:00:00 2001 From: aayushbaluni <73417844+aayushbaluni@users.noreply.github.com> Date: Tue, 17 Mar 2026 16:01:34 +0530 Subject: [PATCH 1/2] fix: include weight_norm parametrizations in partial loading (#11855) Root cause: _load_list() treated parametrized (weight_norm) params missing from recurse=False as default random weights, skipping GPU loading. --- comfy/model_patcher.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index c26d37db2..0d4471d7f 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -736,7 +736,8 @@ class ModelPatcher: params = { name: param for name, param in m.named_parameters(recurse=False) } for name, param in m.named_parameters(recurse=True): if name not in params: - default = True # default random weights in non leaf modules + if not name.startswith("parametrizations."): + default = True # default random weights in non leaf modules break if default and default_device is not None: for param_name, param in params.items(): From 1368c20d885afa2bf3776476a173b9ae9e0737b9 Mon Sep 17 00:00:00 2001 From: aayushbaluni <73417844+aayushbaluni@users.noreply.github.com> Date: Tue, 17 Mar 2026 16:13:21 +0530 Subject: [PATCH 2/2] fix: continue instead of break for parametrizations entries Skip parametrizations.* entries and continue checking remaining params so mixed modules with both parametrized and non-parametrized children are correctly classified. --- comfy/model_patcher.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index 0d4471d7f..51a35fd75 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -736,8 +736,9 @@ class ModelPatcher: params = { name: param for name, param in m.named_parameters(recurse=False) } for name, param in m.named_parameters(recurse=True): if name not in params: - if not name.startswith("parametrizations."): - default = True # default random weights in non leaf modules + if name.startswith("parametrizations."): + continue + default = True # default random weights in non leaf modules break if default and default_device is not None: for param_name, param in params.items():