From c86306bde8c73c619618938721bd1aa4ea1aae1d Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Thu, 9 Apr 2026 01:55:16 +0200 Subject: [PATCH] fix(bigvgan-trainer): clone vocoder parameters to strip inference tensor flag The vocoder is loaded inside ComfyUI's torch.inference_mode(), making all its parameters inference tensors. Autograd cannot save inference tensors for backward even with requires_grad=True. Clone all parameters inside torch.inference_mode(False) before training to get normal tensors. Co-Authored-By: Claude Sonnet 4.6 --- nodes/selva_bigvgan_trainer.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nodes/selva_bigvgan_trainer.py b/nodes/selva_bigvgan_trainer.py index b8b87b8..eed1a0b 100644 --- a/nodes/selva_bigvgan_trainer.py +++ b/nodes/selva_bigvgan_trainer.py @@ -222,6 +222,12 @@ class SelvaBigvganTrainer: try: with torch.inference_mode(False): with torch.enable_grad(): + # Vocoder parameters were loaded inside ComfyUI's inference_mode() + # and are inference tensors. Autograd cannot save them for backward. + # Clone inside inference_mode(False) to get normal tensors. + for param in vocoder.parameters(): + param.data = param.data.clone() + vocoder.train() for step in range(steps):