PaddleDetection在飞浆平台上的使用教程

转载自己的文章

写在前面

这是我的第一篇技术博客,也是我希望能在研究生生涯开始之前让自己保持良好的项目记录习惯和总结习惯的开始。首先明确一下博客的目的肯定是希望让更多人在接触深度学习时少走一些弯路,所以这同时也是一篇踩坑总结。

了解你的硬件设备

在模型训练开始首先一定要了解你的硬件设备,本次项目的目的是将所训练的模型部署到eageboardFz3B板卡上,所以在此之前一定要先了解你的硬件设备所能承载的模型的版本及依赖。线总结如下:

eageboard依赖的版本号
paddlepaddle
PaddleDetection realse 0.5
PaddleSlim =2.9.0

软件平台

百度飞浆实训平台AIstudio。项目地址

模型训练

由于项目要求所以我们要训练自己的数据集,而不能选择公开的数据集,当然如果你的项目是可以在网上找到替代数据集的当然也可以选择公开数据集,那就生省去了数据标注等内容。

1. 准备数据集

数据集标注,这里主要讲述VOC数据集的标注,鉴于我最终选择使用voc格式的数据集所以省去了labelme转换为coco格式的内容,如果有需要可以查询[帮助文档](如何训练自定义数据集 — PaddleDetection 0.1 文档)

工具使用

使用精灵标注助手完成标注任务,

PaddleDetection在飞浆平台上的使用教程

项目名称随便起,图片文件夹路径是源图片路径,num_class用英文逗号隔开,最好类名也写成英文。 标注完成后记得CTr+S保存否则不会覆盖。导出数据集之后就是voc格式需要的xml文件了。其中应该包换类别关键字object

2. 使用aistudio平台训练

2.1创建项目

AI studio提供脚本和jupyter notebook;两种方式进行编辑,我们这里使用notebook编辑代码,[使用方法见](AI Studio-帮助文档 (baidu.com)) 这里以ssd_mobilenet模型为例,由于需要部署到终端上所以有必要提前了解你终端的算力情况,这在实践中尤为重要,因为这一点前期工作没有做好调研导致所训练的yolov3模型因为模型太大而板卡不能提供所需要的算力而达不到预期效果。最终只能采用轻量型模型来完成检测任务。常用模型在edgeboard上的表现如下表。

PaddleDetection在飞浆平台上的使用教程

以上图片出自为某博主,但是因为整理的时候与笔者写总结的时间间隔太长没有找到原博主,如果有侵权联系我删除(笔芯) 了解到这些我们就可以开始编程了,参考PaddleDetection帮助文档,现在首先我们解压工程文件,这里我选择下载安装包的方式,[大家也可以在直接从gitee中下载但是为了防止版本问题](PaddleDetection: PaddleDetection的目的是为工业界和学术界提供丰富、易用的目标检测模型 – Gitee.com),这里选择release_0.5直接下载。然后用以下命令解压到根目录下。

解压数据集

划分数据集

参数配置

在路径下设置你数据集的路径配置参数,下面是你可能需要修改的参数设置记得根据你的类别多少修改类别。

开始训练

看到这样的信息视为成功开始训练

PaddleDetection在飞浆平台上的使用教程

训练结束后还会自动生成一个output文件夹目录,然后我们可以先预测一张图片看一下效果这里需要根据你自己的需要修改

模型预测

导出模型

模型部署需要paddleDemo,按照json文件样例配置即可,至此你就完成了所有在aistudio平台上能够操作的步骤。

视频预测

结果

PaddleDetection在飞浆平台上的使用教程

模型部署及调优

在部署到终端设备上可以看到模型的表现并不总是如你预期所料,所以这就需要更近一步的调优工作, 部分参数调优参考

PaddleDetection在飞浆平台上的使用教程

作者:零下273DU
链接:https://juejin.cn/post/7073792861154017310
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

文章 icon-default.png=M276https://juejin.cn/user/1377010994125214

来源:qq_39809270

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月12日
下一篇 2022年2月12日

相关推荐