HISI3559A YOLOV5训练部署全流程 转载

HISI3559A YOLOV5训练部署全流程
yolov5网络简介
https://zhuanlan.zhihu.com/p/172121380

hisi3559a开发板简介
CPU:

双核 ARM Cortex A73@1.8GHz,32KB I-Cache,64KB D-Cache /512KB L2 cache

双核 ARM Cortex A53@1.2GHz,32KB I-Cache,32KB D-Cache /256KB L2 cache

单核 ARM Cortex A53@1.2GHz,32KB I-Cache,32KB D-Cache /128KB L2 cache

支持 Neon 加速,集成 FPU 处理单元

GPU:

双核 ARM Mali G71@900MHz,256KB cache

支持 OpenCL 1.1/1.2/2.0

支持 OpenGL ES 3.0/3.1/3.2

智能视频分析:

提供视觉计算处理能力

四核 DSP@700MHz,32K I-Cache /32K IRAM/512KB DRAM

双核 NNIE@840MHz 神经网络加速引擎 INT8 4T算力

内置双目深度检测单元

yolov5网络模型训练
1)下载yolov5源码
a、git clone https://github.com/ultralytics/yolov5.git
b、git reset --hard 69be8e738

2)安装yolov5训练环境
a、conda create --name yolov5 python=3.7.9 -y
b、conda activate yolov5
c、修改requirements.txt,删除coremltools、onnx、scikit-learn前的”#“,增加一行“onnx-simplifier”
d、pip install -r requirements.txt

3)修改训练参数和模型结构
a、修改data/coco.yaml文件中类别数目、类别名、train/test/val的路径,按照自己的项目规划修改
b、修改models/yolov5s.yaml文件中类别数目
c、修改models/yolov5s.yaml中的网络结构,将focus层修改为卷积层,并设置stride为2

backbone:
# [from, number, module, args]
# [[-1, 1, Focus, [64, 3]], # 0-P1/2
[
[-1, 1, Conv, [64, 3, 2]],
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, C3, [128]],
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 9, C3, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, C3, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPP, [1024, [5, 9, 13]]],
[-1, 3, C3, [1024, False]], # 9
]
或者用yolov5 release6.0版本已经去掉focus层,
backbone:
# [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 <--- update
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, C3, [128]],
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 9, C3, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, C3, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPP, [1024, [5, 9, 13]]],
[-1, 3, C3, [1024, False]], # 9
]

或者直接用
https://github.com/mahxn0/Yolov5-Hisi3559a-Train.git

4)启动模型训练
python train.py --data data/coco.yaml --cfg models/yolov5s.yaml --weights '' --batch-size 64 --img-size 416 --noautoanchor

5)模型导出
python models/export.py --weights weights/last.pt

6)模型简化
python -m onnxsim weights/last.onnx weights/simple.onnx (先安装onnx-simpler)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
torch 转caffe模型
确保已经搭建好caffe

cd yolov5_onnx2caffe

修改 convertCaffe.py 中路径

设置onnx_path(上面转换得到的简化后onnx模型),prototxt_path(caffe的prototxt保存路径),caffemodel_path(caffe的caffemodel保存路径)

python convertCaffe.py
1
2
3
4
5
6
7
得到转换后的caffemodel.

caffe模型转hisi3559 wk
本地linux转换环境搭建参考:https://blog.csdn.net/racesu/article/details/107045858

配置文件注意预处理顺序即可


后处理代码
https://github.com/mahxn0/Hisi3559A_Yolov5.git

多平台推理引擎,硬件图像处理工具 on the way…
————————————————
版权声明:本文为CSDN博主「朝风工作室」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/maxhn0/article/details/122417680

posted @ 2022-12-06 16:05  eastgeneral  阅读(645)  评论(0编辑  收藏  举报