海思hi3516dv300芯片AI图像模块学习(十六)Ruyi仿真运行自己的Yolo模型
step1.
首先,复习下转wk文件,注意转模型时的配置的参数

cfg是配置窗口,其中is_simulation选项是仿真模式,这里优先选Inst指令仿真。
Ruyi Stdio的仿真过程分为两种,一种是功能性的仿真,一种是指令仿真。顾名思义,功能性的仿真只在乎结果对不对,而指令性的仿真在乎的是每个过程,每次卷积的结果都是符合要求的。最终我们要在海思处理器上跑起来的就是指令性仿真过程中所用到的权重文件。
这里选了啥就会生成对应名字的wk文件,注意加载时别弄错了

其次是配置输入文件的格式:根据输入图片格式选择,海思板端和仿真默认输入的是YUV或BGR格式的图片(jpg等格式需要先转码过去,上一节有对应说明)。根据自己的仿真数据类型进行选择:如果为U8,则为bgr,如果为YVU420sp则为yvu格式。本节选了 u8-bgr
最后配置完,运行,获得可以准确用于仿真的wk模型。

step2.
打开SvpSampleDetectionOneSeg.cpp文件,可以看到里面包含了各种文件所在的地址,按照自己的需求选择各种文件。如下,这里修改对应地址

step3.
打开文件SvpSampleYolo.h 找到其中有关yolo3的部分,按以下文件注释修改各个参数,

step4.
以上全部修改并保存后,右键单击项目名称,切换为指令仿真,如下

随后点击build按钮,选择release

等待完成,大概耗时一分钟左右。
step5.
打开release文件夹,右键单击可执行文件,选择run as -- local

开始进行仿真,大约5分钟,完成之后可以在sim_out -- result文件夹看到输出的图片。

结果:

到此,就完成了一次指令仿真。