{"record":{"id":"a6676563c610f1a1","repo":"open-mmlab/mmdetection","slug":"build-sampler-would-be-deprecated-soon-please","errorCode":null,"errorMessage":"``build_sampler`` would be deprecated soon, please use ``mmdet.registry.TASK_UTILS.build()`` ","messagePattern":"``build_sampler`` 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":17,"sourceCode":"# Copyright (c) OpenMMLab. All rights reserved.\nimport warnings\n\nfrom mmdet.registry import TASK_UTILS\n\nPRIOR_GENERATORS = TASK_UTILS\nANCHOR_GENERATORS = TASK_UTILS\nBBOX_ASSIGNERS = TASK_UTILS\nBBOX_SAMPLERS = TASK_UTILS\nBBOX_CODERS = TASK_UTILS\nMATCH_COSTS = TASK_UTILS\nIOU_CALCULATORS = TASK_UTILS\n\n\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","sourceCodeStart":1,"sourceCodeEnd":35,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/task_modules/builder.py#L1-L35","documentation":"Deprecation warning from mmdet build_bbox_coder: the helper builders in mmdet/models/task_modules/builder.py are shims over TASK_UTILS and will be removed. (Note the message text itself says 'build_sampler' — a copy-paste bug — but the warning fires for build_bbox_coder.) Use mmdet.registry.TASK_UTILS.build(cfg, default_args) directly.","triggerScenarios":"Calling mmdet.models.task_modules.builder.build_bbox_coder(cfg) or importing BBOX_CODERS/build_* aliases; custom heads still importing the old builder path.","commonSituations":"Codebases migrating from mmdet 2.x task_modules builders to the registry-based TASK_UTILS API.","solutions":["Replace build_bbox_coder(cfg, ...) with TASK_UTILS.build(cfg, default_args=...)","Import TASK_UTILS from mmdet.registry","Update imports of the deprecated builder module everywhere"],"exampleFix":"# before\nfrom mmdet.models import build_bbox_coder\ncoder = build_bbox_coder(cfg)\n# after\nfrom mmdet.registry import TASK_UTILS\ncoder = TASK_UTILS.build(cfg)","handlingStrategy":"fallback","validationCode":"from mmdet.registry import TASK_UTILS\nassert hasattr(TASK_UTILS, 'build')","typeGuard":null,"tryCatchPattern":"with warnings.catch_warnings():\n    warnings.simplefilter('ignore', DeprecationWarning)\n    coder = build_bbox_coder(cfg)  # transitional","preventionTips":["Import builders from mmdet.registry.TASK_UTILS, not legacy shim modules","Ban imports of mmdet.models.task_modules.builder in code review"],"tags":["mmdet","deprecation","registry","builder"],"backgroundTag":"deprecated-builder-function","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}