参考资料:
简化流程,选择已经训练好的模型
sample文件中,手势检测识别用的yolov2,手势分类resnet18。
流程:yolov2->caffe1->wk
- yolo->caffe: cfg文件转caffe.model 权重文件转prototx(有开源的代码)
- caffe1->wk 可以用如意量化
1. yolov2模型
2.模型转换( yolo->caffe)
首先,了解yolov2和caffe的区别
- yolov2 cfg文件解析(这里遇到了问题)
- yolov2 权重文件解析
- caffe 模型文件解析
- caffe 网络层文件解析
# 转换命令遵循:
# python cfg[in] weights[in] prototxt[out] caffemodel[out]
# 资料检测网转换命令如下:
python3.8 darknet2caffe.py resnet18.cfg resnet18_final.weights
resnet18.prototxt resnet18.caffemodel
执行一个名为darknet2caffe.py
的脚本,输入配置文件、权重文件,输出Caffe网络定义文件、模型权重文件。
使用Darknet框架(例如YOLO)训练的模型转换为Caffe框架使用的模型。具体步骤如下:
- 加载Darknet模型:从配置文件(
.cfg
)和权重文件(.weights
)中加载模型。 - 转换模型结构:将Darknet的模型结构转换为Caffe的模型结构,并保存为
.prototxt
文件。 - 转换模型权重:将Darknet的模型权重转换为Caffe的模型权重,并保存为
.caffemodel
文件。
3.模型量化(wk模型)
简介:模型量化(Model Quantization)是一种技术,通过将深度学习模型中的权重和激活值从高精度(通常是32位浮点数)转换为低精度(例如8位整数或浮点数),以减少模型的存储需求和计算复杂度。量化可以显著提升模型的执行速度和效率,尤其是在资源受限的设备(如移动设备、嵌入式系统和边缘设备)上。
nnie_mapper
是用于将神经网络模型转换为NNIE(Neural Network Inference Engine)格式的工具。NNIE是华为海思提供的一种神经网络推理加速器,广泛应用于各种嵌入式设备中,比如监控摄像头和物联网设备。
通过RuyiStudio进行模型的量化(ruyistudio的安装教程),具体步骤:
- yolo2网络的最后一层需要通过AI CPU推理,转换之前,需要手工将其删除
- 在RuyiStudio新建一个NNIE工程,选择SOC Version为Hi3516DV300
- 进行模型转化
4.wk文件部署
疑惑:5.3.2.4是执行demo 7,来检测。但是5.4.2执行demo1进行检测+识别,但是并未看到识别结果?
5.板端推理
实时图片获取:VI-VPSS-VO
模型文件加载:检测-分类
输出推理结果:检测-分类wenwen