meituan / YOLOv6

YOLOv6: a single-stage object detection framework dedicated to industrial applications.
GNU General Public License v3.0
5.68k stars 1.02k forks source link

distill的流程与配置 #1046

Open QiqLiang opened 4 months ago

QiqLiang commented 4 months ago

Before Asking

Search before asking

Question

你好,我对于自蒸馏过程有以下一些问题:

  1. 我已经有一个在coco80c上预训练好的模型A,在训练过程中未开启use_dfl,假如我希望训练一个自己数据集上的模型,并利用自蒸馏提高检测性能,接下来的流程是这样吗: 以A为预训练模型,开启use_dfl和fuse_ab在自己数据集上训练一个教师模型B,再以B为教师模型,开启use_dfl和distill参数(关闭fuse_ab)训练学生模型C?
  2. 请问在训练C时config文件里的预训练模型应该设定为模型A还是模型B呢? 谢谢!

Additional

No response

Chilicyy commented 4 months ago

@QiqLiang 您好,问题1 描述的流程是对的;问题2 预训练模型设为模型A,教师模型设为模型B。

QiqLiang commented 4 months ago

@QiqLiang 您好,问题1 描述的流程是对的;问题2 预训练模型设为模型A,教师模型设为模型B。

谢谢!我还有以下两个问题:

  1. 训练学生模型和教师模型的侧重点有什么不同呢?或者换句话说,建议训练时使用相同的数据集还是学生模型使用更针对性的数据集呢?
  2. 在实际使用yolov6n的时候存在比较多的背景误报为目标或者目标分类错误,除了可以从训练集入手或者增大模型外,有没有什么训练tricks可以尝试一下呢? 非常感谢!