用户登录
用户注册

分享至

mmdetection梳理

  • 作者: av男主角
  • 来源: 51数据库
  • 2021-11-22

1. 为什么使用mmdetection
mmdetection造了很好的轮子,对于检测分割之类的任务确实可以很大地提高code效率

?

2. 安装注意事项
一定要按照官方!!!的步骤一步一步来
比如mmcv一定要装mmcv-full
比如pytorch一定要和你的cuda版本匹配

?

3. mmdetection梳理
这里可以参考https://zhuanlan.zhihu.com/p/113775697
还有一个重要的文档,官方解说?https://mmdetection.readthedocs.io/en/latest/tutorials/new_modules.html

(1)在我看来,mmdetection将整个工程划分成两大模块,dataset和model,这些模块在/mmdetection/mmdet/下的文件夹:
dataset
model,又包括backbone,neck,head,roi_extractor,loss,optimizer

(2)当这些模块被构建的时候,都是经过builder.py这个文件一级一级创建的

可以看到,builder用到一个重要的类, Registry,这个类是mmcv的registry.py里定义的。
我认为这个类的作用就是建立一个类似dict的类,名字就是给定的名字,然后通过register_module函数建立一个字典,这个字典的key是你给定的字符串,值是一个类

所以有时候定义类的时候,要在类的前面加上装饰器,调用Registry.register_module()这个函数

类Registry还有一个重要函数 build_from_cfg()

就是这个函数把你在configs下定的这些要求加到类里

?

软件
前端设计
程序设计
Java相关