首页 > 解决方案 > 如何通过冻结一些层来迁移学习或微调 YOLOv4-darknet?

问题描述

我是对象检测领域的初学者。

首先,我从这里学习了YOLOv4 custom-train ,我已经成功地学习了教程。然后我开始想,如果我有一个类似于 YOLOv4 预训练的新任务(使用 COCO 80 类)并且我只有很小的数据集大小,那么我认为如果我可以微调模型会很棒(仅解冻最后一层)以保持甚至通过仅使用较小且相似的数据集来提高检测器性能。这个参考似乎证明了我对我想做的微调的想法。

然后我去Alexey github这里查看如何冻结图层,发现我应该使用stopbackward=1. 它说

“...为 cfg 文件中的 layer-136 设置参数 stopbackward=1”

但是我不知道这里的 cfg 文件中的“layer-136”在哪里stopbackward=1如果我只想解冻最后一层(冻结所有其他层),我也不知道该放在哪里。所以总结一下我的问题。

  1. stopbackward=1如果我想解冻最后一层并冻结其他层,应该将 yolov4-custom.cfg放在哪里(在哪一行) ?
  2. Alexey github参考中提到的“layer-136”是什么?(它是分类器层之一?还是其他?)
  3. stopbackward=1我应该将那个 layer-136放在 yolov4-custom.cfg 的哪一行?

非常感谢您提供的任何进一步信息。请指教。

先感谢您。

问候, 娑娜

标签: object-detectionyolotransfer-learningdarknetyolov4

解决方案


推荐阅读