关于初始化X_U数据集使用
qhemu opened this issue · 2 comments
您好,非常感谢您的工作。关于初始化X_U数据集的使用有个疑问期望能得到解答。
数据集初始通过get_X_L_0(cfg):划分了5%X_L及同等数量的X_U,这是不是意味着在接下来的主动学习流程中,训练除了使用了5%的labeled数据集,也将5%初始化的X_U参与到了【一个active_cycle的一个epoch中,reweight Maximizing+Minimizing】流程中,而在loss计算中L_wave_max和L_wave_min似乎同样用到了X_U的gt bbox+cls?
谢谢您,祝好。
您好,感谢对我们工作的关注。
在 epoch_based_runner.py
的 clear_gt_label
函数中,我们已经将未标注的 X_U
的 y_loc_img
部分置为 -1。
在 mmdet/models/dense_heads/MIAOD_head.py
的 L_wave_min
函数和 L_wave_max
函数中,我们在 y_loc_img
为 -1 时将分类与定位相关的 loss (l_det_cls
和 l_det_loc
) 置为 0,使其不参与模型的反向传播过程,实际上相当于没有边界框的真值参与训练。
祝好
Hello, thank you for your attention to our work.
In the Function clear_gt_label
of epoch_based_runner.py
, we have set y_loc_img
of unlabeled X_U
to 1.
In the Function L_wave_min
and Function L_wave_max
of mmdet/models/dense_heads/MIAOD_head.py
, when y_loc_img
is -1, we set the classification loss and regression loss (l_det_cls
and l_det_loc
) to 0, so that they will not be involved in the back propagation of the model, which is actually equivalent to no ground-truth of bounding box participating in the training.
Best regards,
明白了,非常感谢