使用RZ/V微处理器进行AI评估

你有没有被问过,“你不能用人工智能来提高我们系统的性能吗?”
或者,“你能否通过将人工智能融入我们的设备来为我们的设备增加更多价值?”
人工智能、深度学习、神经网络……人工智能应用正在呈指数级扩展,没有一天不听这些话。另外,有很多人有同样的想法——“我很感兴趣,但即使我研究了一点,我也不太明白如何使用它。我不知道如何在我的工作中使用它,我无法想象它会给我的工作带来什么价值。”
在这篇博客中,我想介绍使用瑞萨嵌入式 ai 处理器 - rz/v 系列的软件包进行 ai 评估。
什么是人工智能?
如果您已经熟悉 ai 和深度学习,这可能没有必要,但我想先回顾一下有关 ai 的一些基础知识。
人工智能 (ai)。许多书籍和网站都以各种方式解释了这一点,例如人工智能可以像专业人士一样下棋,或者只需要求它打开房间里的灯。但是,我想专注于人工智能的最狭义定义:使用神经网络技术的人工智能,特别是——视觉人工智能——可以对图像进行各种识别和判断。
神经网络。如图 1 所示,生物体大脑中的神经接收来自多个其他神经元的输入,并将它们传送到下一个神经元。众所周知,记忆、识别和判断是基于两种信号的组合:来自输入侧的信号被使用的强度(加权)以及加权后每个输入的总和如何传输到输出侧(激活功能)。
使用神经网络的人工智能模仿这种机制,通过大量的算术处理来进行各种识别和判断,例如对多个输入进行加权、求和,然后通过激活函数将结果传递到下一个阶段。
以 3x3 卷积运算为例,它经常在 vision ai 中用于量化输入图像的特征。图像首先被细分为 3 像素 x 3 像素的图像。对每个值(像素密度)进行加权,并使用激活函数将这些值的总和作为输出值发送到下一个阶段。(图2)
图 2 神经网络的 3x3 卷积运算示例
这个过程首先在输入图像的整个表面上进行,然后是由输出创建的下一个图像(因此它不完全是已经可以看作图像的数据,它被称为 - 特征值,这意味着抽象输入图像特征的数据)被发送到下一个重复相同过程的神经网络。
即使是简单的图像识别,比如区分数字和字母,也需要几层这样的计算,而一般的物体识别需要几十层这样的计算,所以通过重复无数次的操作,我们就可以实现图像识别,比如确定数字5 是 5 或从狗的图像中识别狗的位置。
简而言之,最大的区别在于没有人工智能的传统计算机软件——人们思考他们想要处理什么(算法)并构建程序——而使用神经网络的人工智能——使用大量输入和自动准备处理所需的内部数据(加权参数)。换句话说,在人工智能中,主角不是程序,而是数据。因此,虽然传统的软件开发侧重于编程,但人工智能开发中最重要和最耗时的部分是准备加权参数(学习)的过程,以便它能够以必要的精度和速度。
我们在此介绍的 ai 评估软件包使用了 pytorch 等 ai 框架提供的预训练模型,因此您可以评估 ai 的图像推理执行情况,而无需耗时的学习过程。
让我们考虑一个视觉 ai 评估的具体说明。
需要什么?
无需从一开始就购买评估板。在这篇博客中,我将帮助您体验嵌入式 ai 处理器 rz/v 系列的 vision ai 实现流程,仅使用免费的开源软件(以下简称 oss)和瑞萨电子在网络上免费提供的软件包。
*1 pytorch、pytorch 徽标和任何相关标记是 facebook, inc. 的商标。
*2 tensorflow、tensorflow 徽标和任何相关标记是 google inc. 的商标。
*3 drp-ai translator:瑞萨电子的 onnx 转换工具
图 3 rz/v2l ai实现工具流程整体架构
图 3 显示了整个工具流程。人工智能学习有各种行业标准框架,大家熟悉,所以我们开发了rz/v系列,“你可以使用现有的你熟悉的人工智能框架进行人工智能训练,将训练好的神经网络模型连接到瑞萨工具使用一种称为 onnx 的通用格式,”——这是一种 ai 开发流程。onnx 是一种被广泛采用的格式,大多数 ai 框架都能够直接输出或使用转换工具以 onnx 格式输出,但我们将使用 ai 框架 pytorch 作为示例。
在 ai 世界中,linux 而非 windows 是事实上的标准,这里使用的所有操作系统和软件包也需要安装 linux(ubuntu)的 pc。
有一种称为 wsl2 的技术可以在 windows 上将 linux 作为虚拟操作系统运行,但瑞萨评估包不保证可以与 wsl2 一起使用,因此请准备一台安装了 ubuntu 的 pc。如果你不打算做 ai 学习,你不需要高性能,所以你也可以重复使用手头的旧 pc。
首先,一台 linux pc 和 drp-ai 支持包
准备好 linux pc
对于硬件,您可以使用您自己的带有 x86 64 位 cpu 和至少 6gb ram 的 pc,但操作系统不是 windows。我们将改为使用 linux 发行版之一的 ubuntu 版本 18.04。
转到提供 uubuntu 18.04 的网页并从ubuntu-18.04.6-desktop-amd64.iso下载 iso 文件。
您可以使用适用于 windows 的 rufus 工具将 iso 文件转换为可引导的 usb 驱动器,以便您可以在计划安装 ubuntu 的 pc 上安装 ubuntu 18.04。
(有关使用 rufus 的详细信息,请参阅 https://rufus.ie/en/ 。)
准备好软件
要下载软件,首先从瑞萨电子网站下载软件包“ rz/v2l drp-ai support package ”。该文件是一个超过 2gb 的大型 zip 文件,因此我们建议通过高速互联网连接下载它。
解压此 zip 文件时,打开文件夹 rzv2l_ai-implementation-guide,您将在其中找到文件
rzv2l_ai-implementation-guide_en_rev5.00.pdf(以下简称“实施指南”)。
本指南以分步练习的形式编写。如果您遵循它,您将能够评估包含的经过训练的神经网络模型,从转换到评估板上的实际操作。接下来,我想介绍一些在使用本指南进行评估时需要考虑的要点。
图 4 drp-ai 支持包详情
创建 onnx 文件
从这里开始,我们将在 linux 中使用命令行。
(如果您是 linux 新手,则需要学习操作系统本身的基本命令。)
ai 框架 pytorch 和 torchvision 也可以使用命令 pip3 从 linux 命令行安装。(请参阅实施指南,第 2.2 章,第 26 页)
在您下载的 drp-ai 支持包中,您会找到 rzv2l_ai-implementation-guide_ver5.00.tar.gz 压缩文件。按照实施指南中的说明解压缩文件。(第 30 页)
同样,在名为 pytorch_mobilenet 的文件夹中,在 rzv2l_ai-implementation-guide 下,您将找到文件
pytorch_mobilenet_en_rev5.00.pdf(以下简称 mobilenet 指南)和 pytorch_mobilenet_ver5.00.tar.gz,您应该按照实施指南。
mobilenet 是为移动和嵌入式设备开发的用于图像识别的轻量级快速神经网络,它输出图像中对象正确答案的概率。例如,如图5所示,物体是小猎犬的概率为93.53%,说明判断正确。
图 5 mobilenet的图像识别图像
如果您继续阅读 pytorch_mobilenet_en_rev5.00.pdf 的第 2 章,您将找到一个名为 mobilenet_v2.onnx 的文件。这是具有 onnx 格式的加权参数的预训练 mobilenet v2 神经网络模型的表示。
现在我们已经有了经过训练的 onnx 文件,让我们进入下一阶段,为 drp-ai 创建 drp-ai 对象文件并评估性能。
在 drp-ai translator 中转换为 drp-ai 对象文件
从这里开始,我们将使用 renesas 的 onnx 转换工具 drp-ai translator。首先,从 renesas 网站下载drp-ai translator 。
根据实施指南的第 3.1 章安装解压缩的安装程序。如果您按照实施指南和 mobilenet 指南中的步骤操作,您最终应该会得到如图 6 所示的目录结构。
图 6 onnx 文件的目录结构和 drp-ai 转换器目录结构
在此之后,通过复制/重命名和编辑样本中的文件,准备要输入到 drp-ai 翻译器的文件。有关详细说明,请参阅 mobilenet 指南第 3.3-3.5 章。
准备好后,onnx 转换本身可以通过一个命令完成。对于 rz/v2l,从 shell 运行
$ 。/run_drp-ai_translator_v2l.sh mobilenet_v2 -onnx 。/onnx/mobilenet_v2.onnx
在工作目录下的 output/mobilenet_v2/ 目录中,这将生成在真实芯片上运行 mobilenet 所需的二进制文件。(图 7)
图 7 运行 drp-ai translator 后的文件列表
如何阅读性能估算器 excel
除了评估实际设备所需的对象外,drp-ai 转换器还输出神经网络模型的摘要,该模型从 onnx 转换为 excel 格式。(图 8)
连同神经网络模型的结构信息,此 excel 文件包含模型每一层(每个功能)的大致处理时间(drp-ai 单机性能,不包括 lsi 内部总线和外部 dram 带宽的限制) ,它允许您估计近似性能。
图 8 mobilenet_v2_summary.xlsx 示例
概括
我们为对ai感兴趣但不知从何下手的用户介绍了瑞萨电子提供的免费软件包,大家可以试试。如果您拥有本博客中创建的目标文件,那么您离使用真实芯片评估 ai 性能又近了一步。本博客使用的rz/v2l的评估板套件已经可以购买,您可以体验到评估板套件中嵌入的实际芯片的ai性能、低功耗和低发热。
瑞萨嵌入式 ai 处理器的 rz/v 系列还包括rz/v2m ,其 ai 性能比这里介绍的rz/v2l高约 1.5 倍,并且提供rz/v2m drp-ai support package,可用于与上面提到的方法相同。


IBM最新存储技术研究成果惊人 1位的数据保存在一颗原子中
AMD跌入谷底:PC市场衰落 移动市场乏力
电动法兰蝶阀的操作规则及注意事项
凌力尔特公司推出双通道和单通道ADC
光伏靠补贴生存?可再生能源补贴为什么入不敷出?
使用RZ/V微处理器进行AI评估
土壤水分检测仪的性能介绍
yolov5训练部署全链路教程
BTB连接器的环境性能测试中弹片微针模组的应用
外媒评选2017年度最佳CPU 英特尔拿下四分之一
AI视觉检测系统的功能及优势
基于数字信号处理器TMS320F2812实现混合型有源电力滤波器的改进设计
蓝相液晶又来了,它是OLED推广最大挑战
技巧!晶振老化率影响及降低方法
全球首批量产L4级别无人驾驶巴士在佛山投入使用
PLC与PAC市场报告发布 未来四年或缓慢增长
PULSE500后备式工频机三角波形成电路
智能手机为什么能显示运营商名称?
伦敦大学安装户外照明装置 可提供额外的安全保障
我国通信行业终端补贴的发展历程介绍