{"record":{"id":"c99a3b6408fc7413","repo":"open-mmlab/mmdetection","slug":"build-assigner-would-be-deprecated-soon-pleas","errorCode":null,"errorMessage":"``build_assigner`` would be deprecated soon, please use ``mmdet.registry.TASK_UTILS.build()`` ","messagePattern":"``build_assigner`` would be deprecated soon, please use ``mmdet\\.registry\\.TASK_UTILS\\.build\\(\\)`` ","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"mmdet/models/task_modules/builder.py","lineNumber":39,"sourceCode":"\ndef build_iou_calculator(cfg, default_args=None):\n    \"\"\"Builder of IoU calculator.\"\"\"\n    warnings.warn(\n        '``build_iou_calculator`` would be deprecated soon, please use '\n        '``mmdet.registry.TASK_UTILS.build()`` ')\n    return TASK_UTILS.build(cfg, default_args=default_args)\n\n\ndef build_match_cost(cfg, default_args=None):\n    \"\"\"Builder of IoU calculator.\"\"\"\n    warnings.warn('``build_match_cost`` would be deprecated soon, please use '\n                  '``mmdet.registry.TASK_UTILS.build()`` ')\n    return TASK_UTILS.build(cfg, default_args=default_args)\n\n\ndef build_assigner(cfg, **default_args):\n    \"\"\"Builder of box assigner.\"\"\"\n    warnings.warn('``build_assigner`` would be deprecated soon, please use '\n                  '``mmdet.registry.TASK_UTILS.build()`` ')\n    return TASK_UTILS.build(cfg, default_args=default_args)\n\n\ndef build_sampler(cfg, **default_args):\n    \"\"\"Builder of box sampler.\"\"\"\n    warnings.warn('``build_sampler`` would be deprecated soon, please use '\n                  '``mmdet.registry.TASK_UTILS.build()`` ')\n    return TASK_UTILS.build(cfg, default_args=default_args)\n\n\ndef build_prior_generator(cfg, default_args=None):\n    warnings.warn(\n        '``build_prior_generator`` would be deprecated soon, please use '\n        '``mmdet.registry.TASK_UTILS.build()`` ')\n    return TASK_UTILS.build(cfg, default_args=default_args)\n\n","sourceCodeStart":21,"sourceCodeEnd":57,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/task_modules/builder.py#L21-L57","documentation":"Deprecation warning from build_assigner: the wrapper just calls TASK_UTILS.build and will be deleted. Build assigners (ATSSAssigner, MaxIoUAssigner, ...) via mmdet.registry.TASK_UTILS.build(cfg, default_args).","triggerScenarios":"Calling build_assigner(cfg) in custom roi_heads/dense_heads; old code paths importing builders from mmdet.models.","commonSituations":"Upgrading custom detector components that constructed assigners via the pre-registry helper.","solutions":["Use TASK_UTILS.build(cfg, default_args=...)","Update to mmdet.registry imports","Remove dependence on mmdet.models.task_modules.builder"],"exampleFix":"# before\nfrom mmdet.models import build_assigner\nassigner = build_assigner(cfg)\n# after\nfrom mmdet.registry import TASK_UTILS\nassigner = TASK_UTILS.build(cfg)","handlingStrategy":"fallback","validationCode":"from mmdet.registry import TASK_UTILS\nassigner = TASK_UTILS.build(cfg)","typeGuard":null,"tryCatchPattern":"with warnings.catch_warnings():\n    warnings.simplefilter('ignore', DeprecationWarning)\n    assigner = build_assigner(cfg)","preventionTips":["Prefer registry-based construction for assigners","Remove legacy builder imports during version upgrades"],"tags":["mmdet","deprecation","registry","assigner"],"backgroundTag":"deprecated-builder-function","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}