本文不涉及mmdetection的环境安装,主要记录一下自己在学习mmdetection时的心得体会。如有错误,欢迎大家在评论区指正。
目录树
mmdedtection的工程目录如下
.
├── configs
│ ├── _base_
│ │ ├── datasets
│ │ ├── models
│ │ ├── schedules
│ │ └── default_runtime.py
│ ├──pascal_voc
│ │ └── ......
│ └──retinanet
│ │ └── ......
│ └──......
├── mmdet
│ ├── apis
│ ├── core
│ ├── datasets
│ ├── models
│ ├── utils
│ └── __init__.py
│ └── version
├── tests
│ └── ......
├── tools
│ └── analysis_tools
│ └── dataset_converters
│ └── deployment
│ └── misc
│ └── test.py
│ └── train.py
└── ......
文件介绍
configs
该文件夹下存放所有的配置文件,可以自己写一个配置文件,也可以继承自_base_下的四种配置文件
● _base_/datasets
: 数据集加载,数据集格式获取数据。
● _base_/models
:不同的目标检测模型
● _base_/schedules
:训练计划
● _base_/default_runtime.py
:运行时的配置,主要配置权重保存频率、日志频率、日志等级等信息
● 其它文件:继承自上述四种文件,并做一些针对性的修改。可以不继承,但是需要在一个文件内写下所有的配置。
mmdet
mmdetection的核心部分,其它工具都依赖于该部分代码
● apis
:训练和测试相关依赖的函数,有随机种子生成、训练、单GPU测试、多GPU测试等
● core
:内核,包括锚框生成、边界框计算、结果评估、数据结构、掩码生成、可视化、钩子函数等等核心代码
● datasets
:数据加载器的具体实现,对应 configs/datasets
● models
:不同模型的具体实现,分为不同的主干、颈部、头部、损失函数等等,对应 configs/models
● utils
:通用工具
●__init__.py
:判断配置的mmcv是否符合要求
● version
:记录mmdetection 的版本
tests
集成测试相关
tools
工具集
● analysis_tools:分析日志和预测效果
● dataset_converters:数据集转换
● deployment:部署工具
● misc:杂项:下载数据集、打印配置信息等工具
● test.py:测试模型效果
● train.py:根据配置文件进行训练