一直不理解mmdetection中datasets和model的构建过程,今天我们就详细看一下。这里拿test.py中的代码举例。datasets和model的构建过程其实是非常类似的,先详细解释datasets的构建过程,然后类比model的构建过程。
dataset的构建过程
要理解dataset的构建过程,必须搞清楚mmdetection是怎么把各种搞在一起的,有了统一的数据接口。这里,先看全局变量DATASETS,这个变量的定义如下,DATASETS看名字就是一个注册表。
注册表DATASETS
# mmdetection/mmdet/datasets/registry.py
from mmdet.utils import Registry
DATASETS = Registry('dataset')
PIPELINES = Registry('pipeline')
那么我们就需要了解一下Registry这个类:可以从下面代码看到Registry包括一个储存所有信息的self._module_dict,和一个注册函数register_module。
# mmdetection/mmdet/utils/registry.py
class Registry(object):
def __init__(self, name):
self.</