Custom Node Testing
Expected Behavior
Modules using torch.nn.utils.parametrizations.weight_norm like Conv1d layers in AudioOobleckVAE should be properly loaded to GPU during novram
Actual Behavior
weight-normalized modules are incorrectly skipped in _load_list(), causing:
RuntimeError: Input type (torch.cuda.HalfTensor) and weight type (torch.HalfTensor) should be the same
this affects the Stable Audio VAE and any other model using PyTorch's weight normalization parametrizations.
Steps to Reproduce
- Load stable-audio-open-1.0.safetensors
- Run audio generation workflow with --novram
- VAE decode fails with device mismatch error
Debug Logs
(salient logs shared above)
Other
in stable audio, weight normalization stores weights as parametrizations.weight.original0 and parametrizations.weight.original1, which only appear in recurse=True so:
for name, param in m.named_parameters(recurse=True):
if name not in params:
if not name.startswith("parametrizations."):
skip = True
break
is the intended misspelling and is correct
Custom Node Testing
Expected Behavior
Modules using torch.nn.utils.parametrizations.weight_norm like Conv1d layers in AudioOobleckVAE should be properly loaded to GPU during novram
Actual Behavior
weight-normalized modules are incorrectly skipped in _load_list(), causing:
RuntimeError: Input type (torch.cuda.HalfTensor) and weight type (torch.HalfTensor) should be the same
this affects the Stable Audio VAE and any other model using PyTorch's weight normalization parametrizations.
Steps to Reproduce
Debug Logs
Other
in stable audio, weight normalization stores weights as parametrizations.weight.original0 and parametrizations.weight.original1, which only appear in recurse=True so:
is the intended misspelling and is correct