1 Star 0 Fork 0

spiger / simulate

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

MODEL ZOO 使用说明

一、简介

本工程主要包含3部分:nniomodelzoo_simmodelzoo_socket

  1. nnio: 主要包括3部分:前处理、后处理、网络信息获取;输入输出数据处理
  2. modelzoo_socket为socekt链接模式的上板前向运行时工程;(建议使用模型库中的运行时工程)
  3. modelzoo_sim为simulate仿真前向;🚩目前仅支持不带硬算子仿真,请编译时去掉[config]部分(不影响精度和最终结果);

二、环境准备

使用前请注意以下几点:

  1. 由于opencv lib较大,请单独下载,并放置于 thirdparty\lib文件夹中

    点击下载

    需要下载站权限

  2. 打开sln确保为release模式

    image-20220808133905146

  3. 确认语言标准为c++ 17

    image-20220808134120375

  4. 配置属性-调试修改:

    • 设置配置文件路径:socket提供了demo.yaml例子,simulate提供了sim.yaml例子;

    • 将thirdparty的dll加入环境中,dll主要用了yaml,simulate等

    • socket:

    ​ 环境: PATH=%PATH%;../../thirdparty/dll;

    • sim:

    ​ 环境: PATH=%PATH%;../../thirdparty/dll;C:\Icraft-CLI\Rely;

  5. 编译过程提示找不到ir virsion相关头文件,可以将那行include注释掉

  6. 设置modelzoo_sim为启动项

三、使用方法

该程序通过sim.yaml配置要跑的模型,以及其必要的配置参数

yaml文件配置说明:

注意: 1.yaml的冒号后面要留1个空格,不能多也不能少。以及不可随意修改缩进,容易影响层级关系,建议在 sim.yaml例子基础上修改,不要随意增改格式 2. 仿真工程不能运行带硬算子的网络,因此编译用于仿真的 ini时,imagemake和 icorepost需要去掉,如图(注释需要用井号“#”,不能用分号“;”)

下面就以 yolov5s为例,在注释中详细介绍我们需要修改的各项配置

  1. 配置要跑哪个模型

    # 整体models部分,决定这次运行要跑哪些网络,分别使用什么前后处理
    models: [
               [yolov5_sim,yolov5s_8,yolov5],
               # 对应关系:[前处理、模型前向json&raw及结果保存路径、后处理参数及测试集配置]
               #[yolov3_sim,yolov3_8,yolov3],
               # 此次不运行
               ]
  2. 配置路径相关

    # 具体网络文件配置,此处以量化阶段举例,其实包括parse、optimize、quantize、adapt、generate的所有阶段都可以仿真
    networks:
      yolov5s_8:
        jsonPath: E:\YoloV5s_8\YoloV5s_8_quantized.json
        # 编译生成的json文件
        rawPath: E:\YoloV5s_8\YoloV5s_8_quantized.raw
        # 编译生成的raw文件
        resRoot: *tempres
        # 结果图片存放路径,这里用了全局参数存放在临时文件夹,跑单张图时可以使用
        resRoot: E:\rsl\yolov5s_8_month_day\
        # 精度测试时,推荐配置为本地单独的文件夹,路径的父文件夹必须存在,路径末尾必须有“\”
        show: *show
        # 全局参数:是否显示结果图片
  3. 配置前后处理参数

    # 后处理参数及测试集配置,若使用coco数据集的官方模型,一般不需要修改
    params:
     yolov5:
      conf: *conf
      # 全局参数:置信度
      iou: 0.65
      # 重叠度,与浮点精度测试时使用的数值对齐即可
      number_of_class: 80
      # 类别数
      number_of_head: 3
      # 检测头数量
      anchors: [[[10.,13.],[16.,30.],[33.,23.]],[[30.,61.],[62.,45.],[59.,119.]],[[116.,90.],[156.,198.],[373.,326.]]]	
      # 锚框
      multilable: *multilable
      # 全局参数:多标签检测,精度测试时打开
      imgRoot: *lc_cocoval2017
      # 全局参数:coco测试集文件夹
      imgList: *lc_cocoval2017_list
      # 全局参数:由coco测试集文件夹中图片文件名列表保存成的txt
      names: *coconames
      # 全局参数:数据集类别名称文件,show=true时可以显示类别名称
      
    # 需要修改的例子
      ddrnet:
        imgRoot: E:\mIoU_test\CITYSCAPES\
        # 测试集文件夹
        imgList: E:\mIoU_test\CITYSCAPES\valImages.txt
        # 由测试集文件夹中图片文件名列表保存成的txt
      resnet:
        imgRoot: E:\ImageNet2012_Test5000\images/
        # 测试集文件夹
        imgList: E:\ImageNet2012_Test5000\Test5000_imgList.txt
        # 由测试集文件夹中图片文件名列表保存成的txt
        names: E:\Gluon_ResNet\names\imagenet.names
        # 数据集类别名称文件,show=true时可以显示类别名称
        resize_hw: [256,256]
        # 前处理,与模型的浮点工程对齐即可,先resize,大部分分类网络不需要修改
        crop_hw: [224,224]
        # 前处理,resize之后中心裁剪,中心裁剪后即为网络input的大小,大部分分类网络不需要修改
  4. 关于全局配置的说明

    # 全局参数配置,跑多个网络只需要修改此一处
    conf: &conf 0.3
    # 运行单例观察效果时,可如示例中,设置较高置信度作为阈值,精度测试时须设为0.001
    show: &show true
    # 是否显示结果图片,精度测试时关闭
    lc_cocoval2017: &lc_cocoval2017 D:\datasets\val2017\
    # 若待测网络使用coco数据集,可在此处统一配置测试集文件夹,否则不用配置
    lc_cocoval2017_list: &lc_cocoval2017_list D:\datasets\cocoval_2017.txt
    # 同上,txt文件为上面文件夹中的图片文件名列表
    coconames: &coconames D:\Icraft\workspace_v2.0\icraft-tutorial\networks\names\coco.names
    # 数据集类别名称文件
    multilable: &multilable false
    # 是否使用多标签检测,打开后一个目标可以记录多个类别,精度测试时须打开
    tempres: &tempres D:\Icraft\restemp\temp
    # 设置临时结果图片存放路径,精度测试时不推荐使用

声明:本工程仅作为研究、参考;受开发条件限制,有些模型前后处理未做严谨的测试验证,请勿未经验证直接用于项目开发。

空文件

简介

仿真工程 展开 收起
C++ 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/mxh-spiger/simulate.git
git@gitee.com:mxh-spiger/simulate.git
mxh-spiger
simulate
simulate
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891