上一篇博客主要介绍到mmdetection这个检测框架的一些结构设计以及代码的总体逻辑。这篇就主要介绍一下在mmdetection被大量使用的配置和注册。
配置类
配置方式支持 python/json/yaml, 从 mmcv 的 Config 解析, 其功能同 maskrcnn-benchmark 的 yacs 类似, 将字典的取值方式属性化. 这里帖部分代码,以供学习。
1 | class Config(object): |
主要考虑点是自己怎么实现类似的东西,核心点就是 python 的基本魔法函数的应用,可同时参考 yacs。
注册器
把基本对象放到一个继承了字典的对象中,实现了对象的灵活管理。
1 | class Registry: |