概述
在mmcls目录下,mmclassification为我们收录了常用的模型、预处理方法、数据集读取方法、训练参数。为了灵活调试各种参数,我们需要深入到mmcls目录中。
mmcls结构
mmcls第一级目录下主要有apis, core, datasets, models, utils五个模块。
apis:封装了训练、测试、推理的过程
core:提供了一些工具,fp16,评判标准
datasets:提供了数据加载接口、数据增强方法
models:提供了常用的backbone、head、loss、necks……
utils:辅助功能
|-- apis
|-- core
|-- datasets
|-- __init__.py
|-- models
|-- __pycache__
|-- utils
`-- version.py
每一层目录中都有一个 __init__.py
文件,索引了当前目录下提供方法。在添加自己的方法时,也需要在 __init__.py
中添加。
datasets
在datasets目录下,主要有三个部分。
第一部分是在这一层的py文件,用于读取数据
第二部分是pipline目录,该目录下收集了常用的数据增强方法
第三部分是samplers目录,采样方式(没用过)
.
|-- base_dataset.py
|-- builder.py
|-- cifar.py
|-- dataset_wrappers.py
|-- imagenet.py
|-- __init__.py
|-- mnist.py
|-- multi_label.py
|-- pipelines
|-- __pycache__
|-- samplers
|-- utils.py
`-- voc.py
models
在models目录下,主要有六个部分。
第一部分是backbones目录,集成了常见的主干网络
第二部分是heads目录,提供了多种分类的输出方式
第三部分是necks目录,数据backbone与head之间,更好的利用backbone提供的特征,收录了GAP
第四部分是losses目录,提供了常见的损失函数
第五部分是classifiers目录,将backbone、necks、head、losses集成起来
第六部分是utils目录,提供了部分模型封装好的模块
.
|-- backbones
|-- builder.py
|-- classifiers
|-- heads
|-- __init__.py
|-- losses
|-- necks
|-- __pycache__
`-- utils
core
在core目录下,主要有三个个部分。
第一部分是evaluation目录,封装了一些评判标准的函数,mAP、TopK……
第二部分是fp16目录,还没有研究
第三部分是utils目录,还没有研究
.
|-- evaluation
|-- fp16
|-- __init__.py
|-- __pycache__
`-- utils
utils
日志模块在这个部分