Mmdetection dataset pipline

发布时间 2023-04-15 07:52:00作者: caoeryingzi

  

数据的加载顺序是上图(来自mmdetection官网)中的顺序进行,上图中只有一次padding,但是其实dataloader一共有两次padding,一次是pad,另外一次就是collect后,给模型时,会通过mmcv中的collate进行统一padding,使得每一个minibatch的输入大小是一致的。具体可以参考mmcv的collate实现,这个其实也是基于pytorch来的。
Mmdetection 中config文件中,一般如果不想flip,在配置文件中,把randomflip删掉的话,会出现 KeyError: 'flip' when 'RandomFlip' is close。这个的原因主要是因为datapipelines中,formattting中,在collect数据时,Collect类中,

 

这里meta_keys的keys存在flip,和flip_direction,默认是输出的。因此如果你不想flip,可以有两种做法,一种是在config文件中,把randomflip的flip_ratio设置为0.这种是最简单的方式,别的地方不用改那么多。还有一种更严格的方式,配置文件里,改一下meta_keys,把flip, flip_direction删掉。如下图所示,此时collect数据时会只对meta_keys中进行collect,此时把配置文件中的randomflip这一行配置删掉,不会再有任何问题。