{"record":{"id":"4c028c6ff9a1874c","repo":"open-mmlab/mmdetection","slug":"unknown-query-scale-type","errorCode":null,"errorMessage":"Unknown query_scale_type: {}","messagePattern":"Unknown query_scale_type: (.+?)","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"mmdet/models/layers/transformer/dab_detr_layers.py","lineNumber":150,"sourceCode":"        ]\n\n        self.layers = ModuleList([\n            DABDetrTransformerDecoderLayer(**self.layer_cfg)\n            for _ in range(self.num_layers)\n        ])\n\n        embed_dims = self.layers[0].embed_dims\n        self.embed_dims = embed_dims\n\n        self.post_norm = build_norm_layer(self.post_norm_cfg, embed_dims)[1]\n        if self.query_scale_type == 'cond_elewise':\n            self.query_scale = MLP(embed_dims, embed_dims, embed_dims, 2)\n        elif self.query_scale_type == 'cond_scalar':\n            self.query_scale = MLP(embed_dims, embed_dims, 1, 2)\n        elif self.query_scale_type == 'fix_elewise':\n            self.query_scale = nn.Embedding(self.num_layers, embed_dims)\n        else:\n            raise NotImplementedError('Unknown query_scale_type: {}'.format(\n                self.query_scale_type))\n\n        self.ref_point_head = MLP(self.query_dim // 2 * embed_dims, embed_dims,\n                                  embed_dims, 2)\n\n        if self.with_modulated_hw_attn and self.query_dim == 4:\n            self.ref_anchor_head = MLP(embed_dims, embed_dims, 2, 2)\n\n        self.keep_query_pos = self.layers[0].keep_query_pos\n        if not self.keep_query_pos:\n            for layer_id in range(self.num_layers - 1):\n                self.layers[layer_id + 1].cross_attn.qpos_proj = None\n\n    def forward(self,\n                query: Tensor,\n                key: Tensor,\n                query_pos: Tensor,\n                key_pos: Tensor,","sourceCodeStart":132,"sourceCodeEnd":168,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/layers/transformer/dab_detr_layers.py#L132-L168","documentation":"DABDetrTransformerDecoder's _init_layers only supports query_scale_type values 'cond_elewise', 'cond_scalar', and 'fix_elewise'. Any other value raises NotImplementedError at construction time, before any training occurs.","triggerScenarios":"Building a DAB-DETR model (DABDetrTransformerDecoder) with query_scale_type set to something like 'fix_scalar', 'constant', '', or omitted but with a typo in the config key.","commonSituations":"Adapting DAB-DETR configs from papers or other repos where the query_scale_type naming differs; hand-editing transformer decoder configs and guessing valid values.","solutions":["Set query_scale_type to one of 'cond_elewise' (default), 'cond_scalar', or 'fix_elewise'","Check for typos in the key/value in the model config dict"],"exampleFix":"// before\nquery_scale_type='fix_scalar'\n// after\nquery_scale_type='cond_elewise'","handlingStrategy":"validation","validationCode":"assert query_scale_type in ('cond_elewise', 'cond_scalar', 'fix_elewise'), query_scale_type","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin mmdet version and read its DABDetrTransformerDecoder source for valid options","Copy canonical DAB-DETR configs from mmdet's config zoo"],"tags":["mmdet","dab-detr","transformer","config","not-implemented"],"backgroundTag":"invalid-argument-value","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}