tuns
Detectron2代码剖析(⼀)data部分
Detectron2 中data的部分和maskrcnn_benchmark中的不太⼀样。
调试英文⾸先,为了实现数据集的调⽤与实现的分离,在catalog.py中实现了DataCatalog和MetadataCatalog两个类,分别存储了各种数据的属性,调⽤接⼝等。其中
由(datat_name') 返回数据列表,并由comom.py中实现的DatatFromList⽣成data.Datat。
英语整句翻译软件DataCatalog和MetadataCatalog两个类使⽤了类属性存储数据集属性与数据,⽤于创建data.Datat,在整个detectron2中可以作为全局变量使⽤。
其中DataCatalog中维护了⼀个_REGISTERED类属性,是⼀个dict{datat_name:func},⽤以⽀持字符串访问并获得数据集的数据,例如可以通
英语学习 儿童
对不起的英文farmhou过('coco_2017_train')调⽤datat/register_coco.py⽂件中的load_coco_json()函数地址。
MetadataCatalog类维护了⼀个'_NAME_TO_META类属性,是⼀个list[Metadata]。其中Metadata实例中存储了数据集的⼀些属性,所有数据集的公⽤属性
电影love主题曲
枯萎
有class_names,datat_id_to_contiguous_id和stuff_class_names,分别是类别名称,原数据集类别标签到训练⽤连续标签的映射和相对于⽬标的环境标签。并不是所有数据集都有以上三种属性,⽽且每个数据集会有其他属性,例如coco数据集中会⽤到image_root和json_file`等其他属性。
高考心理辅导总之,DataCatalog和MetadataCatalog两个类实现了torch.utils.data.Datat的创建与具体数据集读取的分,提供了使⽤字符串创建Datat和DataLoader的⽅法。
具体Datat从DatatFromLists创建,然后经过MapDatat和Sampler等得到DataLoader。
relationships