{"record":{"id":"6920eb554f662e09","repo":"open-mmlab/mmdetection","slug":"you-are-calling-aug-test-bboxes-in-dense-test-m","errorCode":null,"errorMessage":"You are calling `aug_test_bboxes` in `dense_test_mixins`, but the `dense_test_mixins`will be deprecated soon. Please use `aug_test` instead.","messagePattern":"You are calling `aug_test_bboxes` in `dense_test_mixins`, but the `dense_test_mixins`will be deprecated soon\\. Please use `aug_test` instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"mmdet/models/dense_heads/dense_test_mixins.py","lineNumber":76,"sourceCode":"        Args:\n            feats (list[Tensor]): the outer list indicates test-time\n                augmentations and inner Tensor should have a shape NxCxHxW,\n                which contains features for all images in the batch.\n            img_metas (list[list[dict]]): the outer list indicates test-time\n                augs (multiscale, flip, etc.) and the inner list indicates\n                images in a batch. each dict has image information.\n            rescale (bool, optional): Whether to rescale the results.\n                Defaults to False.\n\n        Returns:\n            list[tuple[Tensor, Tensor]]: Each item in result_list is 2-tuple.\n                The first item is ``bboxes`` with shape (n, 5),\n                where 5 represent (tl_x, tl_y, br_x, br_y, score).\n                The shape of the second tensor in the tuple is ``labels``\n                with shape (n,). The length of list should always be 1.\n        \"\"\"\n\n        warnings.warn('You are calling `aug_test_bboxes` in '\n                      '`dense_test_mixins`, but the `dense_test_mixins`'\n                      'will be deprecated soon. Please use '\n                      '`aug_test` instead.')\n        # check with_nms argument\n        gb_sig = signature(self.get_results)\n        gb_args = [p.name for p in gb_sig.parameters.values()]\n        gbs_sig = signature(self._get_results_single)\n        gbs_args = [p.name for p in gbs_sig.parameters.values()]\n        assert ('with_nms' in gb_args) and ('with_nms' in gbs_args), \\\n            f'{self.__class__.__name__}' \\\n            ' does not support test-time augmentation'\n\n        aug_bboxes = []\n        aug_scores = []\n        aug_labels = []\n        for x, img_meta in zip(feats, img_metas):\n            # only one image in the batch\n            outs = self.forward(x)","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/dense_heads/dense_test_mixins.py#L58-L94","documentation":"Warns that DenseTestMixins.aug_test_bboxes is deprecated; use the head's aug_test instead. Note the caller chain shows aug_test itself may delegate to this mixin method, so the warning can appear during normal TTA inference — it signals the mixin will be removed, not user error.","triggerScenarios":"Running test-time augmentation (TTA) inference on a head using DenseTestMixins, or calling aug_test_bboxes directly.","commonSituations":"Multi-scale / flip TTA configs with older head implementations that still route through the mixin.","solutions":["Upgrade mmdet to a version where the head implements aug_test natively","If writing custom heads, override aug_test instead of using the mixin"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"if type(head).aug_test is DenseTestMixin.aug_test if hasattr(DenseTestMixin,'aug_test') else False:\n    logging.warning('head relies on deprecated DenseTestMixins; plan migration')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Upgrade mmdet regularly so heads implement aug_test natively","Pin known-good versions for TTA runs"],"tags":["mmdet","deprecation","tta","dense-head"],"backgroundTag":"deprecated-argument-migration","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}