yolov3 模型微调(微调)备忘录
1. 前言
项目需要用目标检测模型,由于yolov3精度和性能突出,成为最后选择的模型。但是因为在实际场景中会有误检测和漏检测的情况,还需要采集实际场景的数据进行微调。思路是直接调整由ImageNet+coco数据集训练出来的权重yolov3.weights,冻结前面的层数,只微调后面n层。
系统:Ubuntu 18.04
2. 过程
2.1. 数据准备
采集好图片,筛选,标注,转换。
其中标注工具我们使用的是labelImg,可以搜索安装。但是一般标注的时候选的是PascalVoc格式,最后保存的是xml文件,而yolov3的模型需要读取yolo格式的标签文件,因此需要手动转换,可参考voc_label.py。
然后是各种配置文件,参考:建立自己的YOLO辨識模型 – 以柑橘辨識為例
包括根据种类调整网络结构等,注意因为是fine tune,需要将LR调整低一点,我是直接调为原来的1/2,后面如果不太好再继续调整。
2.2. 提取冻结层
主要是为了冻结已经训练好的网络中的前n层的权重,命令:
# 冻结前81层 darknet partial cfg/yolov3.cfg yolov3.weights yolov3.conv.81 81
这个时候会在本路径提取出名为yolov3.conv.81的预训练模型。
2.3. 训练
命令:
# 使用多gpu进行训练 darknet detector train cfg/coco.data cfg/yolov3.cfg yolov3.conv.81 -gpus 0,1
2.4. 继续训练
训练期间因为各种原因终止,需要接着训练,则在原来的weights上继续训练:
darknet detector train cfg/coco.data cfg/yolov3.cfg weights/yolov3_500000.weights -gpus 0,1
weights/yolov3_500000.weights是上次训练最后保存的权重。
3. 权威详细教程
之前是因为官网放出来的训练教程实在太简陋了,才在网上找到一些零零散散的教程,拼凑在一起解决问题。
直到找到AlexeyAB 放在github的教程,基本上你想知道的细节都在里面了,作者写得实在详细,包括如何修改配置,多GPU应该怎么修改,map怎么画,等等。所以如果你看到这里,还有其他疑问,应该直接进入这篇教程看看了:https://github.com/AlexeyAB/darknet。
4. 参考
建立自己的YOLO辨識模型 – 以柑橘辨識為例
(完)
推荐阅读
-
使用变压器、火炬对 BERT 模型进行微调
-
微调]大型模型微调理论与方法、Pytorch&HuggingFace 微调实践
-
微调大语言模型 - 超级详细步骤
-
微调大型语言模型(微调大型语言模型) - 数据准备(IV) - 2. 数据准备
-
对大型语言模型进行微调(对大型语言模型进行微调) - 为什么要微调 (I) - 5.总结
-
【摩尔线程+Colossal-AI强强联手】MusaBert登上CLUE榜单TOP10:技术细节揭秘 - 技术实力:摩尔线程凭借"软硬兼备"的技术底蕴,让MusaBert得以从底层优化到顶层。其内置多功能GPU配备AI加速和并行计算模块,提供了全面的AI与科学计算支持,为AI推理和低资源条件下的大模型训练等场景带来了高效、经济且环保的算力。 - 算法层面亮点:依托Colossal-AI AI大模型开发系统,MusaBert在训练过程中展现出了卓越的并行性能与易用性,特别在预处理阶段对DataLoader进行了优化,适应低资源环境高效处理海量数据。同时,通过精细的建模优化、领域内数据增强以及Adan优化器等手段,挖掘和展示了预训练语言模型出色的语义理解潜力。基于MusaBert,摩尔线程自主研发的MusaSim通过对比学习方法微调,结合百万对标注数据,MusaSim在多个任务如语义相似度、意图识别和情绪分析中均表现出色。 - 数据资源丰富:MusaBert除了自家高质量语义相似数据外,还融合了悟道开源200GB数据、CLUE社区80GB数据,以及浪潮公司提供的1TB高质量数据,保证模型即便在较小规模下仍具备良好性能。 当前,MusaBert已成功应用于摩尔线程的智能客服与数字人项目,并广泛服务于语义相似度、情绪识别、阅读理解与声韵识别等领域。为了降低大模型开发和应用难度,MusaBert及其相关高质量模型代码已在Colossal-AI仓库开源,可快速训练优质中文BERT模型。同时,通过摩尔线程与潞晨科技的深度合作,仅需一张多功能GPU单卡便能高效训练MusaBert或更大规模的GPT2模型,显著降低预训练成本,进一步推动双方在低资源大模型训练领域的共享目标。 MusaBert荣登CLUE榜单TOP10,象征着摩尔线程与潞晨科技联合研发团队在中文预训练研究领域的领先地位。展望未来,双方将携手探索更大规模的自然语言模型研究,充分运用上游数据资源,产出更为强大的模型并开源。持续强化在摩尔线程多功能GPU上的大模型训练能力,特别是在消费级显卡等低资源环境下,致力于降低使用大模型训练的门槛与成本,推动人工智能更加普惠。而潞晨科技作为重要合作伙伴,将继续发挥关键作用。
-
NLP_“预训练+微调大模型”模式和Prompt/Instruct模式的异同
-
优化计算资源:针对语言模型微调的策略 LoRA
-
港中文大学与苏州大学联手打造简易汉语语法纠正常规大模型GrammarGPT:只需1000份数据轻松微调,就能达到顶尖水平表现!
-
探索GrammarGPT:利用监督微调方法的中文语法纠错开源大模型研究