{"record":{"id":"8e1ad5f960ecae77","repo":"Comfy-Org/ComfyUI","slug":"activation-incorrectly-specified-check-the-config","errorCode":null,"errorMessage":"activation incorrectly specified. check the config file and look for 'activation'.","messagePattern":"activation incorrectly specified\\. check the config file and look for 'activation'\\.","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"comfy/ldm/mmaudio/vae/bigvgan.py","lineNumber":81,"sourceCode":"                       padding=get_padding(kernel_size, 1))\n        ])\n\n        self.num_layers = len(self.convs1) + len(self.convs2)  # total number of conv layers\n\n        if activation == 'snake':  # periodic nonlinearity with snake function and anti-aliasing\n            self.activations = nn.ModuleList([\n                Activation1d(\n                    activation=activations.Snake(channels, alpha_logscale=h.snake_logscale))\n                for _ in range(self.num_layers)\n            ])\n        elif activation == 'snakebeta':  # periodic nonlinearity with snakebeta function and anti-aliasing\n            self.activations = nn.ModuleList([\n                Activation1d(\n                    activation=activations.SnakeBeta(channels, alpha_logscale=h.snake_logscale))\n                for _ in range(self.num_layers)\n            ])\n        else:\n            raise NotImplementedError(\n                \"activation incorrectly specified. check the config file and look for 'activation'.\"\n            )\n\n    def forward(self, x):\n        acts1, acts2 = self.activations[::2], self.activations[1::2]\n        for c1, c2, a1, a2 in zip(self.convs1, self.convs2, acts1, acts2):\n            xt = a1(x)\n            xt = c1(xt)\n            xt = a2(xt)\n            xt = c2(xt)\n            x = xt + x\n\n        return x\n\n\nclass AMPBlock2(torch.nn.Module):\n\n    def __init__(self, h, channels, kernel_size=3, dilation=(1, 3), activation=None):","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy/ldm/mmaudio/vae/bigvgan.py#L63-L99","documentation":"Raised by the BigVGAN AMPBlock1 (labeled line in mmaudio/vae/bigvgan.py) when h.activation is neither 'snake' nor 'snakebeta'. The activation name comes from the VAE hyperparameter config object h; any typo or unsupported activation aborts VAE construction with NotImplementedError.","triggerScenarios":"Building the MMAudio VAE with h.activation set to something like 'Snake', 'relu', 'mish', or missing so it falls to the else branch.","commonSituations":"Hand-editing the VAE config JSON; porting a BigVGAN config that uses a case variant or an activation this fork does not implement.","solutions":["Set h.activation to 'snake' or 'snakebeta' (lowercase, exact)","If you edited the config, restore the original from the checkpoint","Check for whitespace/case in the config string"],"exampleFix":"# before\nh.activation = 'Snake'\n# after\nh.activation = 'snake'","handlingStrategy":"validation","validationCode":"if h.activation not in ('snake', 'snakebeta'):\n    raise ValueError(f\"activation must be 'snake' or 'snakebeta', got {h.activation!r}\")","typeGuard":"def is_supported_activation(a: str) -> bool:\n    return a in ('snake', 'snakebeta')","tryCatchPattern":null,"preventionTips":["Validate the activation field once after loading the VAE config","Keep config strings lowercase and exact"],"tags":["mmaudio","bigvgan","vae","config","activation"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}