注册机制 registry
注册机制是检测套件为将网络模型模块化而设计;例如,检测器中的backbone、neck、head等。在检测套件中,数据处理以及网络模型相关的模块均是采用注册机制进行模块化管理。
什么是注册机制
在MindSpore Vision套件中,注册机制可以理解为是一个将类映射到字符串的映射关系。每一个映射表是功能类似的类的集合。而开发者在使用时则可以通过对应的字符串查找相关类并实例化该类。而注册机制通常和配置文件一起使用,在使用检测套件实现一个网络时,开发者通过配置创建检测模型以及数据集,进而可以进行模型训练或推理。
在检测套件中,主要有两个类实现这层映射关系:ClassFactory和ModuleType。
其中Class ModuleType是声明了MindSpore Vision套件中支持的注册表的类别。
class ModuleType:
“”“Class module type”“”
DATASET = ‘dataset’ # 数据集
DATASET_LOADER = ‘dataset_loader’ # 数据加载
DATASET_SAMPLER = ‘dataset_sampler’ # 数据集采样器
PIPELINE = ‘pipeline’ # 数据增强流水线
BACKBONE = ‘backbone’ # 主干网络
DETECTOR = ‘detector’ # 检测器
HEAD = ‘head’ # 检测头
NECK = ‘neck’ # 连接颈部
LOSS = ‘loss’ # 损失函数
OPTIMIZER = ‘optimizer’ # 优化器
ANCHOR_GENERATOR = ‘anchor generator’ # 锚框生成器
WRAPPER = ‘wrapper’ # 训练封包器
# bbox
BBOX_ASSIGNERS = 'bbox_assigner'
BBOX_SAMPLERS = 'bbox_sampler' # bbox 采样
BBOX_CODERS = 'bbox_coder' # bbox 编解码器
GENERAL = 'general' # 通用表