open-mmlab/mmdetection · warning

``build_anchor_generator`` would be deprecated soon, please

Error message

``build_anchor_generator`` would be deprecated soon, please use ``mmdet.registry.TASK_UTILS.build()`` 

What it means

Deprecation warning from build_anchor_generator: an alias of build_prior_generator that only calls TASK_UTILS.build and will be removed. Use mmdet.registry.TASK_UTILS.build(cfg, default_args) to construct anchor generators.

Source

Thrown at mmdet/models/task_modules/builder.py:59

    return TASK_UTILS.build(cfg, default_args=default_args)


def build_sampler(cfg, **default_args):
    """Builder of box sampler."""
    warnings.warn('``build_sampler`` would be deprecated soon, please use '
                  '``mmdet.registry.TASK_UTILS.build()`` ')
    return TASK_UTILS.build(cfg, default_args=default_args)


def build_prior_generator(cfg, default_args=None):
    warnings.warn(
        '``build_prior_generator`` would be deprecated soon, please use '
        '``mmdet.registry.TASK_UTILS.build()`` ')
    return TASK_UTILS.build(cfg, default_args=default_args)


def build_anchor_generator(cfg, default_args=None):
    warnings.warn(
        '``build_anchor_generator`` would be deprecated soon, please use '
        '``mmdet.registry.TASK_UTILS.build()`` ')
    return TASK_UTILS.build(cfg, default_args=default_args)

View on GitHub (pinned to cfd5d3a985)

Solutions

  1. Replace with TASK_UTILS.build(cfg, default_args=...)
  2. Import TASK_UTILS from mmdet.registry
  3. Update tests/modules that call the deprecated helper

Example fix

# before
from mmdet.models import build_anchor_generator
gen = build_anchor_generator(cfg)
# after
from mmdet.registry import TASK_UTILS
gen = TASK_UTILS.build(cfg)
Defensive patterns

Strategy: fallback

Validate before calling

from mmdet.registry import TASK_UTILS
gen = TASK_UTILS.build(cfg)

Try / catch

with warnings.catch_warnings():
    warnings.simplefilter('ignore', DeprecationWarning)
    gen = build_anchor_generator(cfg)

Prevention

When it happens

Trigger: Calling build_anchor_generator(cfg) — commonly seen in anchor-generator unit tests (test_standard_anchor_generator, test_ssd_anchor_generator, test_yolo_anchor_generator, etc.) and legacy detector code.

Common situations: Old test suites or custom models still importing the anchor-generator builder shim during mmdet upgrades.

Related errors


AI-assisted analysis of open-mmlab/mmdetection@cfd5d3a985 (2026-08-27). Data as JSON: /api/errors/d3c65edd491af0bf. Report an issue: GitHub.