BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记

最近一阵子显卡价格还是太高,单租个服务器挂模型也挺贵的,看BML托管推理服务器价格还行,先记录一下目标检测任务的全流程使用步骤,留着备用。

BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第1张图片

开发流程

  1. 新建一个项目,用于关联数据集和模型
  2. 导入昆虫数据集
  3. 在项目中新建一个训练任务,并使用刚刚导入的昆虫数据集
  4. 人工调参/自动超参,对模型进行训练
  5. 测试模型结果,预测几组图像数据
  6. 模型发布后在自己业务中调用公有云API

Step 1 新建一个项目

首先打开BML管理页面,在这个界面中可以看到当前支持的深度学习任务类型,也可在左侧目录选择不同深度学习方向。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第2张图片

因为要做的是目标检测,所以只需要在左侧目录中找到“计算机视觉模型”,点击“物体检测”,写个名称加段描述就能新建一个项目了。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第3张图片

Step2 导入数据集

导入数据集这步比我想象中要简单的多,在创建完项目后就能很快找到创建数据集的按钮。这里我选择的是“物体检测”和“矩形框标注”,也可根据自身数据集情况灵活选择。
在这里插入图片描述
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第4张图片本次使用的是林大那边的昆虫数据集,由于这组数据集中标签文件是xml拓展名,所以推测数据大概率是VOC的格式,故此处尝试选择“xml(特指VOC)”标注格式。
当然,如果要自己制作数据集的话,还是更建议用开源的LabelMe或者支持自动标注的EasyData来做,格式也推荐保存json形式,这样更加通用。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第5张图片等了几分钟就导入成功啦~
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第6张图片

Step3 检查导入的数据

对数据集质量不放心的话,还是检查一下数据集质量更稳妥一些。好在BML里面可以在线可视化数据集标注,这点个人感觉还是挺舒服的,省得本地写代码了(懒)
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第7张图片BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第8张图片

Step4 在训练任务中添加数据

一般数据集是需要划分为“训练集”、“(交叉)验证集”、“测试集”三部分,其中训练集可以衡量模型的拟合能力,交叉验证集和测试集则为模型的泛化能力,划分后模型是否过拟合也就非常清楚了。
虽然验证集和测试集均能反映模型的泛化能力,但由于训练中会对验证集进行评估,最终将保存验证集上表现最优性能的模型。测试集则是在“最佳性能模型”之上再进行一轮评估,最终的评估效果可以降低验证集的偶然性,得到更加客观的模型分数。
当然,如果数据量不是很大的情况下也可不划分测试集,对验证集进行采样同样可以降低一定的偶然性。

在这里,我们可以添加训练数据集,也可自行划分验证集和测试集,数据量10k以下的话可以考虑训练集:验证集:测试集=6:2:2的比例进行划分,超过10k则可以考虑8:1:1或者更高的训练集比例。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第9张图片

Step5 选择训练参数

预训练模型这块不说BML,飞桨PaddlePaddle的预训练模型就已经强的离谱了,Cifar100+预训练模型+ResNet18就轻轻松松让测试集上95%准确率了(不加预训练模型是50%左右)。
网络部分比较推荐Yolo系列的,从兼容性上考虑,其端侧硬件兼容性会更好,而且单阶段目标检测速度也不差。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第10张图片

Step6 开始训练

因为数据量不是很大,这里挑选P4显卡半小时就能训练好了,实测25分钟即可完成训练任务。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第11张图片

Step7 上传图片进行测试

待训练完成后,回到BML的控制台界面,点击左侧目录的模型管理即可看到刚刚训练好的模型。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第12张图片这里我们可以点击“校验模型”,上传一张待推理的图像,看看模型结果是否准确。
BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第13张图片可以看到整体上效果还是不错的,昆虫都可以被正确识别,接下来再康康总体的情况如何。

BML全功能AI开发平台完成昆虫目标检测模型的全流程笔记_第14张图片mAP达到70%+,整体上来看还是非常不错的,在目标检测任务中mAP超40%基本上就差不多能拿到不错的结果框了。虽然这个指标看起来还不错,但仍有很大的调优空间,过一阵子试一下自动调参和自动数据增强再体验体验。

你可能感兴趣的:(BML踩坑日记,深度学习)