海思平台深度学习算法仿真使用RuyiStudio生成wk文件

海思平台深度学习算法仿真使用RuyiStudio生成wk文件 不会编程的老王 2023-10-17 17:25:52 1400

#模型转换

   对于海思35xx上nnie配套的软件及工具链仅支持Caffe框架,且以Caffe-1.0版本为基础。因此若想在nnie硬件上进行推理的话,需先将模型转换为Caffe-1.0框架的模型(若模型直接由Caffe-1.0框架训练出来的话,忽略此步骤),然后由nnie配套软件工具nnie mapper将转换后的模型生成nnie硬件能够识别的.wk文件。

   ps:由于现在主流模型训练框架为:pytorch、tensorflow、Mxnet、darknet等,Caffe-1.0框架使用不多,因此大部分情况下的算法模型都需要进行转换。

   这里讨论的是基于darknet训练出来的yolov3模型转换成caffemodel。

#sample_simulator工程简介

易百纳社区

#data文件夹

   data文件夹里包含:图像分类(classification)、目标检测(detection)、长短期记忆网络(lstm)、图像分割(segmentation)、追踪(tracker)几个部分。这里主要关注detection中的yolov3部分内容。

   在data中可以看到配置文件(.cfg)分两种:func(function功能)和inst(instruction指令),分别代表功能级别的仿真配置与指令级别的仿真配置。功能级别的仿真,较简单,主要为功能的模拟,仿真耗时较少;指令级别的仿真,一定程度上等同于硬件NNIE上的模拟,仿真耗时较多。这两种级别仿真分别能够生成各自的.wk文件,能下载到硬件上运行的为指令级别仿真生成的.wk文件。

易百纳社区

#.cfg文件

   选中.cfg文件,右击open with选择Mapper Configuration Editor

易百纳社区

   nnie mapper的输入包括两个部分:

   prototxt:caffe定义网络结构是用protobuf格式写的.prototxt文件

   caffemodel:. Caffemodel是使用caffe框架训练网络时,最终生成一个二进制文件。里面存储了模型的参数包括权重和偏置等信息,还存储了整个训练网络的结构信息,即.prototxt信息(. Caffemodel文件包含有.prototxt)

   这两个文件,都可以在工程data->detection->yolov3->model文件夹下找到,也可以自己手动生成。

   (不少算法都是用预训练模型在自己数据上微调,即加载“caffemodel”作为网络初始参数取值,然后在此基础上更新。使用方式往往是:同时给定solver的prototxt文件,以及caffemodel权值文件,然后从solver创建网络,并从caffemodel读取网络权值的初值)

易百纳社区

   marked_prototxt:在加载nnie mapper的两个输入文件和选择net_type后,RuyiStudio自动将加载的prototxt文件中nnie不支持的层修改为Custom层Proposal层,并生成一个标记后的prototxt文件。(对于yolov3而言,没有nnie不支持的层,因此加载的prototxt和marked_prototxt一样)

   output_wk_name:生成的.wk文件的命名和保存位置。

易百纳社区

   batch_num:一次处理图片数,目前一次处理1张

   spare_rate:稀疏率,进一步压缩模型,作用于全连接层(fully connected layers,FC),若值为0.5,则全连接层一半参数强制改为0,有负面作用:导致精度下降,影响准确度,一般不稀疏。

易百纳社区

   image_list:在做模型量化的时候,需要参考的一系列图片,这些图片应该能把要检测的目标类型覆盖,参考图片数量20-50张。

易百纳社区

   data_scale:值为1/255

   mean_flie:若预处理选择了有mean_file相关,则需要选择相关文件,若选择了其他,则此处不需要填写。

#.ini文件

   .ini文件是仿真前的一个配置文件

易百纳社区

   1.是否需要层线性打印:使能后可以在指令仿真时输出caffe各层的中间线性结果

   2.是否需要使用CUDA加速(若有GPU,安装CUDAv8.0以上版本能加快仿真速度)

   3.是否需要指令的仿真

   另外也有一种方式能够选择仿真类型:

易百纳社区

   4.是否需要性能仿真:若使能,必须使能指令仿真

#.注意事项

   在做模型转换或者仿真之前,需要注意的一点:选对SOCVersion

易百纳社区

#.生成wk文件

在.cfg和.ini都设置好,并保存后,开始点击按钮生成.wk文件

易百纳社区


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

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

举报反馈

举报类型

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

详细说明

审核成功

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

审核失败

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

小包子的红包

恭喜发财,大吉大利

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

    易百纳技术社区