{"record":{"id":"1b8de1a95a7348b2","repo":"huggingface/candle","slug":"unsupported-activation-function","errorCode":null,"errorMessage":"Unsupported activation function: {}","messagePattern":"Unsupported activation function: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"candle-transformers/src/models/voxtral/model.rs","lineNumber":376,"sourceCode":"    activation: candle_nn::Activation,\n    dropout: Dropout,\n    activation_dropout: Dropout,\n}\n\nimpl VoxtralEncoderLayer {\n    fn new(cfg: &VoxtralEncoderConfig, vb: VarBuilder) -> Result<Self> {\n        let embed_dim = cfg.hidden_size;\n\n        let self_attn = VoxtralAttention::new(cfg, vb.pp(\"self_attn\"))?;\n        let self_attn_layer_norm = layer_norm(embed_dim, 1e-5, vb.pp(\"self_attn_layer_norm\"))?;\n        let fc1 = linear(embed_dim, cfg.intermediate_size, vb.pp(\"fc1\"))?;\n        let fc2 = linear(cfg.intermediate_size, embed_dim, vb.pp(\"fc2\"))?;\n        let final_layer_norm = layer_norm(embed_dim, 1e-5, vb.pp(\"final_layer_norm\"))?;\n\n        let activation = match cfg.activation_function.as_str() {\n            \"gelu\" => candle_nn::Activation::Gelu,\n            \"relu\" => candle_nn::Activation::Relu,\n            _ => candle::bail!(\n                \"Unsupported activation function: {}\",\n                cfg.activation_function\n            ),\n        };\n\n        let dropout = Dropout::new(cfg.dropout as f32);\n        let activation_dropout = Dropout::new(cfg.activation_dropout as f32);\n\n        Ok(Self {\n            self_attn,\n            self_attn_layer_norm,\n            fc1,\n            fc2,\n            final_layer_norm,\n            activation,\n            dropout,\n            activation_dropout,\n        })","sourceCodeStart":358,"sourceCodeEnd":394,"githubUrl":"https://github.com/huggingface/candle/blob/d5fee525bfde3273eb7c9b75fd2bc4937be867ca/candle-transformers/src/models/voxtral/model.rs#L358-L394","documentation":"The Voxtral encoder feed-forward block maps the config's activation_function string to candle_nn::Activation, supporting only \"gelu\" and \"relu\". Any other value bails with the unsupported string. Candle intentionally whitelists activations rather than attempting to parse arbitrary names.","triggerScenarios":"Constructing the Voxtral encoder FFN with a VoxtralEncoderConfig whose activation_function is a string other than \"gelu\" or \"relu\" (e.g. \"gelu_new\", \"silu\", \"swiglu\").","commonSituations":"Using a checkpoint whose HF config declares gelu_new or silu; copying config values from another model family; typos in a hand-written config.","solutions":["Set activation_function to \"gelu\" or \"relu\" in VoxtralEncoderConfig","If the checkpoint uses e.g. \"silu\", patch the model code to map it to candle_nn::Activation::Silu","Confirm the checkpoint's actual activation in its config.json and adjust"],"exampleFix":"// before\nlet cfg = VoxtralEncoderConfig { activation_function: \"gelu_new\".into(), .. };\n// after\nlet cfg = VoxtralEncoderConfig { activation_function: \"gelu\".into(), .. };","handlingStrategy":"validation","validationCode":"if !matches!(cfg.activation_function.as_str(), \"gelu\" | \"relu\") {\n    return Err(anyhow::anyhow!(\"activation {:?} unsupported by candle Voxtral encoder\", cfg.activation_function));\n}","typeGuard":null,"tryCatchPattern":"match VoxtralEncoder::new(&cfg, vb) {\n    Err(e) if e.to_string().contains(\"Unsupported activation function\") => {\n        anyhow::bail!(\"map {:?} to gelu/relu or patch the model\", cfg.activation_function)\n    }\n    r => r?,\n}","preventionTips":["Whitelist activations in your config-loading layer before model construction","Map common HF aliases (gelu_new -> gelu, silu -> Silu) when porting configs","Check config.json of the checkpoint for its declared activation"],"tags":["rust","candle","voxtral","config","unsupported-feature"],"backgroundTag":"unsupported-activation-function","analyzedSha":"d5fee525bfde3273eb7c9b75fd2bc4937be867ca","analyzedAt":"2026-09-02T00:15:47.023Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T06:17:21.866Z"}