{"record":{"id":"0786e8ad0aff6cba","repo":"open-mmlab/mmdetection","slug":"build-match-cost-would-be-deprecated-soon-ple","errorCode":null,"errorMessage":"``build_match_cost`` would be deprecated soon, please use ``mmdet.registry.TASK_UTILS.build()`` ","messagePattern":"``build_match_cost`` 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":32,"sourceCode":"\ndef build_bbox_coder(cfg, **default_args):\n    \"\"\"Builder of box coder.\"\"\"\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_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","sourceCodeStart":14,"sourceCodeEnd":50,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/task_modules/builder.py#L14-L50","documentation":"Deprecation warning from build_match_cost: the helper only delegates to TASK_UTILS.build and is scheduled for removal. Construct match costs (e.g. BBoxL1Cost, FocalLossCost, IoUCost) through mmdet.registry.TASK_UTILS instead.","triggerScenarios":"Calling build_match_cost(cfg) when wiring up matcher costs for DETR-style heads; legacy imports of the builder.","commonSituations":"DETR / Deformable-DETR head customization using old builder APIs during mmdet upgrades.","solutions":["Replace with TASK_UTILS.build(cfg, default_args=...)","Import TASK_UTILS from mmdet.registry","Drop imports of the deprecated builder module"],"exampleFix":"# before\nfrom mmdet.models import build_match_cost\ncost = build_match_cost(cfg)\n# after\nfrom mmdet.registry import TASK_UTILS\ncost = TASK_UTILS.build(cfg)","handlingStrategy":"fallback","validationCode":"from mmdet.registry import TASK_UTILS\ncost = TASK_UTILS.build(cfg)","typeGuard":null,"tryCatchPattern":"with warnings.catch_warnings():\n    warnings.simplefilter('ignore', DeprecationWarning)\n    cost = build_match_cost(cfg)","preventionTips":["Build match costs via TASK_UTILS","Centralize component construction in one factory to ease migrations"],"tags":["mmdet","deprecation","registry","match-cost"],"backgroundTag":"deprecated-builder-function","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}