一直不理解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._na

本文深入探讨了mmdetection框架中datasets和model的构建过程。首先,解释了DATASETS注册表的工作原理,展示了如何通过Registry类将不同数据集类型注册进去。接着,详细介绍了构建dataset的步骤,包括从test.py中调用build_dataset和build_from_cfg函数。最后,类比了model的构建过程,指出model的构建同样依赖于build_from_cfg,通过实例化backbone和head等组件来构建完整的模型。
最低0.47元/天 解锁文章
2954

被折叠的 条评论
为什么被折叠?



