EasyDL专业版是EasyDL在2019年10月下旬全新推出的针对AI初学者或者AI专业工程师的企业用户及开发者推出的AI模型训练与服务平台,目前支持视觉及自然语言处理两大技术方向,内置百度海量数据训练的预训练模型,灵活支持脚本调参及Notebook两类开发方式,只需少量数据可达到优模型效果。 数据集下载链接:https://pan.baidu.com/s/1GiIt7nQ10fQU2ytPuneUhA 密码:910o 数据标注的时候注意太小的目标没必要标注,本身SSD对小目标识别能力不强。大部分被遮挡的目标也不用标注。标注的框框和实物大小匹配,不宜标注的过大或者过小。 easydl会自动分配训练集和验证集。并且会对数据集检查分类是否均衡,数据是否充足等。 这部分内容参考JETSON-Nano刷机运行deepstream4.0的demo
我们的部署目标硬件是jetson-nano板卡。根据硬件性能选择了SSD-MobileNetV1模型。一、模型训练
1.数据准备,数据标注
该数据集包含133张车辆和行人的图片,已经按照easydl的格式生成标签。使用教程可以参考智东西的课程EasyDL的公开课还有哔哩哔哩百度大脑的资源。
加载数据集的时候可以加载一个或者多个数据集。
创建数据集:
智能标注:
使用智能标注功能可降低数据的标注成本(当前仅支持物体检测数据集)。启动后,系统会从数据集所有图片中筛选出最关键的图片并提示需要优先标注。通常情况下,只需标注数据集30%左右的数据即可训练模型。与标注所有数据后训练相比,模型效果几乎等同。如果是数据量比较小也可以在easydl上手工标注。在PC本地标注然后转换成easydl的数据标注格式也是一种方法。2.模型调参
“eval_interval”: 5, # 控制评估的间隔迭代数, 过多的评估会影响模型训练速度,过少的评估会影响最优指标模型的挑选。
这是SSD-MobileNetV1脚本调参的一个参数。如果设置成5,那么每迭代5次,easydl会评估一下模型的指标,并且存储指标最优的模型。也就是说存储的结果未必是最后的模型,而是在不断的存储指标最好的模型。这是easydl非常好的一点。
对于训练迭代次数的确定,一方面训练迭代次数太小训练不充分,会发生欠拟合。训练迭代次数太多可能过拟合。具体怎么去确定训练的迭代次数,可以引入评测集,用相同的评测集可以评估不同版本的训练结果,也可以通过评测集观察是否发生过拟合。
easydl的训练log日志分析也是很有价值的。如果观察日志,发现训练过程当中模型的评估指标大趋势一直在变优,那说明当前的学习率是不需要发生变化的。什么时候评估指标在反复波动、时好时坏,这时候需要衰减学习率了。通过日志不难发现,easydl的物体检测模型学习率其实有3个量级。例如初始学习率是0.004,下一个是0.0004,最后衰减成0.00004。发生0.0004学习率衰减的时候应该在整体训练迭代次数的60%到70%的位置,换句话说0.004的学习率占全程的60%到70%时间。观察训练过程当中模型指标的变化,如果指标反复波动,当前的训练迭代次数是整体的60%到70%,大约能评估应该设置的模型迭代次数也就是”epochs”这个参数。(这段话是一个思路,需要根据情况灵活使用)
在SSD-MobileNetV1模型里这些参数是固定的。但是物体检测模型aspect_ratios的设置是很重要的。easydl后面会推出工具,根据训练集的特点生成推荐的aspect_ratios参数,是不是很方便。
最后是把数据集扩充一下,评测集加入到训练集当中。因为毕竟数据才是天花板。训练的手段再多,再花费心思调整参数实验对比,也是基于数据这个基础。数据是最基础的,数据增强是性价比最高的。把评测集加入到训练集以后可以适当增加epochs。
该参数调整的地方是输入图片的大小。默认是640,“input_size”: 640。较大的输入尺寸有利于识别小目标。3.发布模型
选择自己的项目和版本可以发布自己的模型。二、Jetson板卡环境搭建
注意deepstream4.01不需要安装,把SD卡的系统镜像安装即可。
确认自己的系统版本是jetson-nano-sd-r32.2.1.zip JetPack4.2.2版本三、模型部署
下载SDK,把SDK放到jetson-nano里解压编译
unzip EasyEdge-Linux-mxxxx-bxxxx-Jetson.zip
这时会出现2个文件夹 RES和app
RES是存储模型相关的文件
app是需要编译的sdk。注意jetson-nano首次推理需要联网。
cd cpp
tar zxf baidu_easyedge_linux_cpp_aarch64_JETSON_v0.5.3_gcc7.4_20200514.tar.gz
cd baidu_easyedge_linux_cpp_aarch64_JETSON_v0.5.3_gcc7.4_20200514
cd lib
sudo cp * /usr/lib //先把库文件拷贝到系统的lib位置
把demo_batch_inference.cpp里面的序列号填上。去掉注释,要推理完成后存储图片。如下图
cd demo
mkdir build
cd build
cmake …
make -j3
./easyedge_batch_inference ~/RES/ ~/image/3.png
下图是推理结果:
可能是标注的时候框框画的太大了。框框回归可以再好些。
最后把easydl的网址附上 https://ai.baidu.com/easydl/pro/
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算