{"record":{"id":"6e5e8d628f613a57","repo":"babysor/MockingBird","slug":"unknown-input-layer","errorCode":null,"errorMessage":"unknown input_layer: ","messagePattern":"unknown input_layer: ","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"models/ppg_extractor/encoder/conformer_encoder.py","lineNumber":142,"sourceCode":"                )\n        elif input_layer == \"vgg2l\":\n            self.embed = VGG2L(idim, attention_dim)\n        elif input_layer == \"embed\":\n            self.embed = torch.nn.Sequential(\n                torch.nn.Embedding(idim, attention_dim, padding_idx=padding_idx),\n                pos_enc_class(attention_dim, positional_dropout_rate),\n            )\n        elif isinstance(input_layer, torch.nn.Module):\n            self.embed = torch.nn.Sequential(\n                input_layer,\n                pos_enc_class(attention_dim, positional_dropout_rate),\n            )\n        elif input_layer is None:\n            self.embed = torch.nn.Sequential(\n                pos_enc_class(attention_dim, positional_dropout_rate)\n            )\n        else:\n            raise ValueError(\"unknown input_layer: \" + input_layer)\n        self.normalize_before = normalize_before\n        if positionwise_layer_type == \"linear\":\n            positionwise_layer = PositionwiseFeedForward\n            positionwise_layer_args = (\n                attention_dim,\n                linear_units,\n                dropout_rate,\n                activation,\n            )\n        elif positionwise_layer_type == \"conv1d\":\n            positionwise_layer = MultiLayeredConv1d\n            positionwise_layer_args = (\n                attention_dim,\n                linear_units,\n                positionwise_conv_kernel_size,\n                dropout_rate,\n            )\n        elif positionwise_layer_type == \"conv1d-linear\":","sourceCodeStart":124,"sourceCodeEnd":160,"githubUrl":"https://github.com/babysor/MockingBird/blob/28dc5e14f12d7c754612af2fde8e78a4b03f8616/models/ppg_extractor/encoder/conformer_encoder.py#L124-L160","documentation":"Raised by the Conformer encoder constructor when input_layer is not one of 'conv2d', 'conv2d6', 'conv2d8', 'linear', or None.","triggerScenarios":"Constructing the encoder with an unrecognized input_layer value, e.g. 'conv2d2' or 'embed', or a non-None non-string value.","commonSituations":"ESPnet config drift (newer ESPnet supports values like 'conv2d1' or 'embed'); typo in YAML; configs copied from transformer encoder expecting different input layer names.","solutions":["Use one of: 'conv2d', 'conv2d6', 'conv2d8', 'linear', or null","Diff your config against a working conformer example in this repo","Upgrade/patch conformer_encoder.py if you need a newer ESPnet input_layer option"],"exampleFix":"# before\ninput_layer: conv2d2\n\n# after\ninput_layer: conv2d6","handlingStrategy":"validation","validationCode":"allowed = {'conv2d', 'conv2d6', 'conv2d8', 'linear', None}\nassert input_layer in allowed, repr(input_layer)","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use repo-provided conformer config templates","Add a config linter that checks encoder option enums"],"tags":["conformer","encoder","input-layer","config"],"backgroundTag":"invalid-enum-value","analyzedSha":"28dc5e14f12d7c754612af2fde8e78a4b03f8616","analyzedAt":"2026-08-27T02:26:53.589Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}