训练自己的yolov5样本, 并部署到rv1126 <二>

训练自己的yolov5样本, 并部署到rv1126 <二> Marc 2022-11-22 09:57:52 2361

折腾了大概一个星期, 最大的问题就是python的版本的问题.
按照下面的步骤来, 不行的话, 你抽我...
最重要感谢小蒋提示了我, 转模型要3.6, 训练要3.8, 顺这个这思路走.
设计py36 跟py38切换, 所以最好弄个conda来方便你切换环境.

一般情况下, 你训练模型是在物理机的window上面, 就用windows安装conda, 具体安装方法百度一下, 我这里说说ubuntu的安装

ubuntu下载并安装miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh
bash Miniconda3-py38_4.12.0-Linux-x86_64.sh

一步步往下走就行, 中间什么用户协议输入yes
是否初始化选择yes
关掉终端, 重新打开.

跟windows版本一样, 终端前面可以看到conda目前的环境.

创建并切换py38环境
conda create -n train_yolo_py38 python=3.8
conda activate train_yolo_py38
下载rk优化后的yolov5
git clone https://github.com/airockchip/yolov5.git

接着修改data/下面的yaml的配置, 训练模型, 就像平时训练一样
比如我想训练个看人有没有带安全帽的模型, 就新建个yaml, 取名叫safe_hat_detect.yaml

path: ../datasets/safe_hat  # dataset root dir
train: images/train  # train images (relative to 'path') 128 images
val: images/val  # val images (relative to 'path') 128 images
test: images/test  # test images (optional)

# Classes
nc: 2  # number of classes
names: ['person', 'hat']  # class names

把你的模型的训练数据, 做好的标记文件, 测试集, 都放在对应的位置, 这里的目录组织有点别扭, 是在yolo的目录外面, 新建一个datasets目录, 然后模型一个目录, 然后里面再分别建image/train image/val image/test, 跟image同层建立labels目录放标签的txt文件.

用yolov5的训练方法训练, 这里生成的权重/模型, 其实已经被优化过了, 一会儿看pt文件就知道, silu已经被换成了relu

python train.py --weights '' --cfg safe_hat_detect.yaml --data safe_hat.yaml --epochs 300 --batch-size 16

修改一下batch-size, 使得显卡内存利用率更高, 让训练速度更快, 我是8G的显存, batch-size设置成32.

训练的目标就是让mAP@.5 跟mAP@.5:.95尽量的高
每个epoch即整个训练集, 约4000张图片, 每次32张图片(batch-size), 进行一次前向传播, 再用损失函数, 反向传播, 对每一个参数求偏导数, 这样就是一个epoch, 暂时定为重复300个epoch, 如果中间程序发现长时间mAP没有提升, 会提前停止训练.

50轮的时候, mAP已经是0.914了, 因为我的val跟train的样本集是分开的, 所以应该不会出现过拟合的问题.

可以看到, 训练在275轮就提前结束了, 因为最近100轮都没有啥提升.

生成的权重文件, 就在runs\train\expX\weights\best.pt
X是个会自增的数字, 每训练一次都会加1


结果图 还挺理想的.

直接detect一下, 看看效果如何

python detect.py --weights runs\train\exp4\weights\best.pt --source D:\\rkai\\datasets\\safe_hat\\images\\test\\person_hat_2_72.jpg

嗯, 好了, 下一步可以开始转换模型了.

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
Marc
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Marc
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区