添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

《HiSVP开发指南》洋洋洒洒有258页之多,刚看很容易让人抓不住重点。本文结合自己的理解来对模型转换和仿真部分进行了一下梳理

wk模型生成

AI硬件加速器nnie只支持wk模型文件的加载。而SDK提供了 mapper工具来将caffe1.x 算法model转换成wk格式。该工具有linux和windows两个版本,我们这里只讨论windows版本,个人感觉它安装更方便,更容易使用。

一个重要注意点是,我们自己的算法模型很可能是差异很大的,比如darknet yolo3训练出来的模型格式*.weights, tensforflow训练模型格式*.ckpt等。而mapper工具的输入仅仅是caffe1 model, 所以需要我们自己想办法先把自身模型转换成caffe模型,然后才能mapper工具。这个会在后面的文章进行详细介绍。

windows nnie mapper工具已经集成在ruyistudio软件里面,关于ruyistudio的介绍和使用请见该系列第二篇文章。

双击打开ruyistudio IDE后,右击你想要转换模型所对应cfg文件,然后选择open with 再选择mapper configuration editor,就可以在一个可视化环境下阅读和编辑cfg文件,如下所示。

标红框的部分是生成wk文件必须要配置的。此外,如果想提高准确度等属性,需要对下面那一栏mapper setting进行调整。

最后点击make wk按钮如下图红框所示

windows仿真有两种方式,

第一种是直接在ruyistudio来进行。需要先安装和配置mingw编译器,详见开发指南。 然后import项目如下图所示。

然后点击下面按钮来进行debug或release版本的编译。当然,为了节省仿真时间,可以把main.cpp里面其它模型仿真函数注释掉,只保留你感兴趣模型的仿真,也如下图所示。

编译完成后生成binary如下图红框所示。

最后在工具栏点击按钮,选择Run as -> Local C/C++ Application就可以运行仿真程序。

第二种方式是直接运行vs工程文件,直接用visual studio来编译工程,并调试或运行它。 该项目文件为xx\software\sample_simulator\simulator_sample_vc14.sln。双击它就可以打开该项目来编辑和编译。

就个人而言,我更习惯第二种,毕竟对vs开发环境比较熟悉,调试跟踪起来很方便。 此外,这两种方式在release模式对yolo3模型进行仿真所花时间差不多,大概都需要15分钟左右。

指令级仿真和功能级仿真

仿真有两种运行模式:指令级和功能级。前者仿真时间显然比后者慢很多。 两种切换示意如下:

切换完毕需要把源代码重新编译一遍。注意:在功能 仿真切换到指令仿真后,点击仿真按钮,ruyisudio并不会自动开始重新编译,然后再仿真。所以这时需要先手动来clean and build。

点击仿真按钮后,仿真程序会根据不同模式去load相应的inst或func wk。 这个可以从仿真log看到。

前言《HiSVP开发指南》洋洋洒洒有258页之多,刚看很容易让人抓不住重点。本文结合自己的理解来对模型转换和仿真部分进行了一下梳理wk模型生成AI硬件加速器nnie只支持wk模型文件的加载。而SDK提供了 mapper工具来将caffe1.x 算法model转换成wk格式。该工具有linux和windows两个版本,我们这里只讨论windows版本,个人感觉它安装更方便,更容易使用。...
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的 生成 如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片 生成 一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想 学习 如何使用Mar
前面的博客系列 已经介绍了如何将caffemodel转换成 wk 文件,如何将jpg文件转成bgr 格式 数据以及如何在 PC 仿真 模型 推理等,基于这些基础,本文来结合代码分析如何在板子上推理yolov3 模型 。 SDK提供的 nnie AI 推理相关的样例代码路径在这里: sample_ nnie _m ai n.c很简单,主要是提供入口函数m ai n, 其所带的参数0/1/2。。。 。。。决定了... #原则相冲突,请谅解,勿喷 深度 学习 的爆发期已经到了瓶颈了,为啥这样说,因为没有突破性的理论进展,都是靠着网络更深、更广,算力更强大来做相应的功能。至少在我的世界观里面是这样的,虽然这样的认知可能会有局限性,或者说是错误的。 现在深度 学习 的方向已经不是以前的泡沫鼓吹了,而是落地,踏踏实实的把... 前两个是功能性 仿真 ,后两个是指令性 仿真 。在功能性或指令性 仿真 内部又分为使用opencv库和不使用opencv库两种类型。它们的最终结果应该是一致的,但功能性验证显然速度要快很多。 由于yolo层后处理都是软件实现的,所以当待 仿真 的算法 模型 (即 wk 文件)改变时,尤其网络size或目标识别种类数等方面不同,下面这些参数需...
目前, nnie 只支持caffemodel,windows上有两种方法 生成 wk 文件,第一种是cmd里敲命令,第二种是利用 ruyi studio 。 cmd里敲命令的步骤如下: 第一步、准备好deploy prototxt、caffemodel、图片等; 第二步、写cfg文件,如: 其中,instruction_name指定输出的 wk 文件保存路径和名字。 第三步、cd到 海思 的sample_s...
上篇文章已经对一系列的名词进行了讲解,接下来我们将寻找 NNIE 的软件包,其中,有以下工具链: ① mapper (location:tool\ nnie \linux\ mapper ),这个工具主要是可以将我们训练的 模型 转化成 Hi35xx 芯片 或者 仿真 库可以加载的文件(. wk 后缀名) ② 仿真 库(location:...
WK _NNC[1] WK _NNC简介 WK _NNR 模型 (Distance-Weighted k-Nearest-Neighbor Rule)是Sahibsingh A. Dudani于1976年提出的对KNN(详见KNN | BaoWJ’s Blog)的一种改进方法。 该方法的主要思路是对KNN中的距离进行加权。 基础KNN是:直接取距离待预测数据点 α\alphaα 最近的K个点,并预测该数据类别为这K个数据中占比最大的数据的类别。KNN可以看成 WK __NNC的一个特例,这相当于对K个数据点中,设置权重.
文章目录 海思 YOLOv3 wk 模型 nnie 设备上面推理前言1. nnie 推理代码 本文主要讲述如何运行在 nnie 设备SOC上面来运行YOLOv3 模型 ,在开始知道,我们默认读者已经把YOLOv3 模型 转换完成并取得还是 wk 指令 模型 ,如果不明白如何获取 wk 指令 模型 ,可以参考我的上一篇博文。 Pytorch版本YOLOv3 模型 转Darknet weights 模型 然后转caffemodel再转 wk 模型 nnie 上面推理 1. nnie 推理代码 hi 3559a /c是一款集成电路 芯片 ,广泛应用于视频图像处理领域。其原理图是指该 芯片 的电路连接图,展示了 芯片 内部各个元件之间的连接方式。 hi 3559a /c原理图主要包括以下几个部分: 1. 处理器:hi 3559a /c 芯片 内集成了多个处理器核心,如ARM Cortex-A73和ARM Cortex-A53等,用于执行图像处理算法和控制各个硬件模块的工作。 2. 存储器接口:hi 3559a /c 芯片 支持多种存储器接口,包括DDR4 SDRAM、NAND Flash和eMMC等,在原理图中会显示这些存储器与 芯片 的连接方式。 3. 传感器接口:hi 3559a /c 芯片 支持多种图像传感器接口,如MIPI、CSI-2等,这些接口连接了外部图像传感器和 芯片 ,用于接收外部图像数据并进行处理。 4. 图像处理模块:hi 3559a /c 芯片 内集成了强大的图像处理模块,支持多种图像处理算法和编码 格式 ,如H.265、H.264等,原理图中会显示这些模块之间的连接关系。 5. 显示接口:hi 3559a /c 芯片 支持多种显示接口,如HDMI、LVDS等,原理图中会显示这些接口与 芯片 的连接方式。 总之,hi 3559a /c原理图展示了 芯片 内部各个模块之间的连接关系,帮助工程师们理解和设计相关应用电路。同时,也方便生产厂商进行 芯片 的布局和焊接。 ### 回答2: Hi 3559A /C是一款基于 海思 (HiSilicon)公司的平台所开发的图像处理器解决 方案 。它采用了28nm H PC (高性能低功耗)工艺制造,集成了多种高性能处理单元和硬件模块,能够实现强大的图像处理功能。 Hi 3559A /C原理图是指对该 芯片 的电路连接关系和元件布局进行图形化描述。由于Hi 3559A /C功能复杂且包含了多个模块,因此原理图是开发和设计人员进行电路测试、调试和验证的重要依据。 Hi 3559A /C的原理图以层次结构呈现,最高级别为系统级接口和处理器核心,并且逐渐展开到具体的功能模块。例如,图像处理单元、视频编码单元、图像传感器接口、存储控制器等。 原理图中的元件和连接线表示电路中的各个部件,如电阻、电容、晶体管等。通过这些元件的连接与互联,Hi 3559A /C能够实现不同的信号处理和控制功能。 在Hi 3559A /C原理图中,也会标注一些重要的电气特性和电源分配,以确保电路稳定和正确的工作。例如,供电电压要求、时钟信号、阻抗匹配等。 通过Hi 3559A /C原理图,开发和设计人员可以更好地了解 芯片 内部的电路结构和功能模块之间的连接关系,从而进行电路设计、布局和优化。 总之,Hi 3559A /C原理图是对该 芯片 电路连接关系和元件布局进行图形化描述的重要工具,它为开发和设计人员提供了更好的理解和分析 芯片 内部电路结构的能力,使得他们能够更好地进行电路设计、调试和优化工作。 ### 回答3: Hi 3559A /C是华为公司推出的一款高性能图像处理 芯片 。它采用了领先的 AI 技术和视频处理技术,能够实现高清图像处理和智能分析。其原理图是 芯片 设计的基础,用于描述 芯片 各部分的电路连接和信号传输。 Hi 3559A /C的原理图包括了主控 芯片 、外设 芯片 、存储 芯片 等电路元件的连接方式和信号传输路径。主控 芯片 是整个系统的核心,负责处理各种输入和输出信号。外设 芯片 包括摄像头、显示器、传感器等,用于输入和输出图像信号。存储 芯片 则用于存储处理后的图像数据。 在原理图中,各个元件之间通过电路板上的导线、焊盘、插槽等进行连接。不同的信号通过不同的电路路径进行传输,以实现各种功能。 芯片 的固定电源和时钟信号也在原理图中得到了体现。 Hi 3559A /C的原理图还包括了一些辅助电路,如滤波电路、稳压电路等。这些电路用于稳定输入和输出信号,以提高整个系统的性能和可靠性。 通过仔细分析Hi 3559A /C的原理图,我们可以更好地了解 芯片 的工作原理和各个部分之间的关系。这对于 芯片 的设计、调试和维护都具有重要意义。同时,原理图也为 芯片 的后期升级和功能扩展提供了便利。 qq_53829348: 交叉编译器 在编译demo时报这种错误,可能是环境问题 有人知道原因嘛 arm-linux-gnueabi/bin/nm terminated with signal 6 [Aborted], core dumped compilation terminated. c++版的NMS(非极大抑制)实现 JSLab: 这种nms是否会将不同类别的检测框进行计算呢,导致遗漏 双目测距系列(八)monodepth2训练代码分析上 柚子雨39: 你好,请问你的这个问题解决了吗,我对内参矩阵也有一些困惑。