Spaces:
Paused
Paused
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| """MMEngine provides 20 root registries to support using modules across | |
| projects. | |
| More datails can be found at | |
| https://mmengine.readthedocs.io/en/latest/advanced_tutorials/registry.html. | |
| """ | |
| from .build_functions import (build_model_from_cfg, build_runner_from_cfg, | |
| build_scheduler_from_cfg) | |
| from .registry import Registry | |
| # manage all kinds of runners like `EpochBasedRunner` and `IterBasedRunner` | |
| RUNNERS = Registry('runner', build_func=build_runner_from_cfg) | |
| # manage runner constructors that define how to initialize runners | |
| RUNNER_CONSTRUCTORS = Registry('runner constructor') | |
| # manage all kinds of loops like `EpochBasedTrainLoop` | |
| LOOPS = Registry('loop') | |
| # manage all kinds of hooks like `CheckpointHook` | |
| HOOKS = Registry('hook') | |
| # manage all kinds of strategies like `NativeStrategy` and `DDPStrategy` | |
| STRATEGIES = Registry('strategy') | |
| # manage data-related modules | |
| DATASETS = Registry('dataset') | |
| DATA_SAMPLERS = Registry('data sampler') | |
| TRANSFORMS = Registry('transform') | |
| # mangage all kinds of modules inheriting `nn.Module` | |
| MODELS = Registry('model', build_model_from_cfg) | |
| # mangage all kinds of model wrappers like 'MMDistributedDataParallel' | |
| MODEL_WRAPPERS = Registry('model_wrapper') | |
| # mangage all kinds of weight initialization modules like `Uniform` | |
| WEIGHT_INITIALIZERS = Registry('weight initializer') | |
| # mangage all kinds of optimizers like `SGD` and `Adam` | |
| OPTIMIZERS = Registry('optimizer') | |
| # manage optimizer wrapper | |
| OPTIM_WRAPPERS = Registry('optim_wrapper') | |
| # manage constructors that customize the optimization hyperparameters. | |
| OPTIM_WRAPPER_CONSTRUCTORS = Registry('optimizer wrapper constructor') | |
| # mangage all kinds of parameter schedulers like `MultiStepLR` | |
| PARAM_SCHEDULERS = Registry( | |
| 'parameter scheduler', build_func=build_scheduler_from_cfg) | |
| # manage all kinds of metrics | |
| METRICS = Registry('metric') | |
| # manage evaluator | |
| EVALUATOR = Registry('evaluator') | |
| # manage task-specific modules like anchor generators and box coders | |
| TASK_UTILS = Registry('task util') | |
| # manage visualizer | |
| VISUALIZERS = Registry('visualizer') | |
| # manage visualizer backend | |
| VISBACKENDS = Registry('vis_backend') | |
| # manage logprocessor | |
| LOG_PROCESSORS = Registry('log_processor') | |
| # manage inferencer | |
| INFERENCERS = Registry('inferencer') | |
| # manage function | |
| FUNCTIONS = Registry('function') | |