加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 背景
    • 关于每个模拟器
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

工程师说 | R-Car DNN模拟器的介绍

2023/01/31
1972
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本篇文章我们将介绍瑞萨为R-Car V4H提供的三种类型的DNN开发模拟器,以及它们的使用情况和特点。

背景

用于汽车SoC实时处理的深度学习的模型转换

深度学习是使用底层软件(深度学习框架)开发的,如TensorFlow和PyTorch。

仅仅通过移植在深度学习框架中学习到的模型,不可能在R-Car这样的车载SoC上进行实时处理,因为深度学习的推断过程需要大量的计算和内存使用。因此,有必要对所学模型进行非等价的模型压缩,如量化和剪枝,以及使用深度学习编译器进行性能优化。

首先,让我们讨论一下模型压缩。在量化中,通常以浮点计算的推断过程被转换为近似的整数运算,如8位。通过将对识别结果贡献较小的权重设置为零并跳过对这些权重的计算,修剪减少了计算和内存的使用。这两种转换都是对原始推断过程的非等效的算法转换,因此很可能会降低识别的准确性。

在性能优化方面,深度学习编译器可以对训练过的模型的推断过程进行程序转换,以便在深度学习加速器上进行更快的处理,或者应用内存可以进行优化,例如将分配给一个层的输出数据的快速小型SRAM重新用于另一个层的输出数据。

应用这种转换可以在车载SoC上进行实时处理。

在R-Car中使用瑞萨工具和软件的推断流程

瑞萨的R-Car中的H/W加速器CNN-IP,出于计算效率的考虑,可以使用整数值进行推断操作。由于这个原因,用户必须使用瑞萨公司提供的R-Car CNN工具来进行量化,这是上述模型转换中的一种。

首先,在实际执行量化之前,必须进行校准,以计算量化参数(刻度和零点),用于将浮动数转换为整数。为此,一个外部工具(如TFMOT、ONNX runtime),根据网络模型的格式,从大量的输入图像中找到每一层的最大/最小输出值。从这些最大/最小值中,可以计算出比例/零点等量化参数;R-Car CNN工具使用这些量化参数来量化每一层的参数。

R-Car CNN工具然后从网络模型和每层的量化参数中创建一个命令列表。命令列表是二进制数据,用于指示CNN-IP执行哪些命令和设置哪些参数(每个量化层的参数)。通过向CNN-IP提供该命令列表并运行它,可以进行推断。

命令列表是由网络模型和量化参数唯一确定的,因此它只需要事先创建一次。上述命令列表可以对每个图像执行,以便在实际设备上进行推断。

使用瑞萨工具和软件对R-Car V4H进行推断的框图见图1。

图1 使用瑞萨工具和软件进行推断的方框图

关于每个模拟器

每个模拟器的概述和特点

瑞萨电子准备了模拟器来解决以下两个用户挑战:

A)在开发一个应用程序之前,用户希望检查由于量化而导致的精度变化

B)想在不使用实际设备的情况下使用命令列表检查和调试用户应用程序

瑞萨的模拟器有三种类型,每种类型解决不同的任务,具有不同的功能。各自的特点见表1。每一种都在准确性和处理速度上有所不同。对于每一种情况,都会参照框图介绍其特点和使用情况的细节。

表1 各模拟器的概述和特点

(*1)命令列表是使用R-Car CNN工具创建的,基于网络模型和量化参数,使用与上述实际机器上的推断相同的程序。

(*2)Accurate Simulator在R-Car CNN工具中运行。用户向R-Car CNN工具提供网络模型和量化参数,该工具会自动计算每一层的量化参数,然后将其输入到Accurate Simulator。

ISS

该模拟器旨在使用与实际设备尽可能相同的软件配置和输入数据(命令列表,主要是寄存器设置)来调试输出结果。它不能重现计时,也不打算用于计时验证。

结果与实际设备完全相同,速度比Accurate Simulator慢,因为它以指令为基础重现输出。

图2 使用ISS的系统方框图

精确的模拟器

该模拟器将网络模型作为输入,用于精度验证,无需使用实际设备。对于每一层,都要实现一种算法,使其输出与设备的计算算法完全匹配。由于执行速度比ISS快10倍左右,所以在只验证精度的情况下,它是很有用的。

图3 使用Accurate Simulator的系统框图

快速仿真器

该模拟器用于检查大量图像的定量误差。

Fast Simulator扩展了深度学习框架(R-Car V4H中的Tensor Flow),在每层推断操作后都有一个伪量化功能,并带有浮点数字。伪量子化是一种重现浮点数的伪量子化误差的方法,在浮点数仍然是浮点数的情况下,加入与量子化导致的精度下降相同的误差。

可以只在Tensor Flow中添加一个伪量化功能,其运行速度与Tensor Flow相似,但速度更快。

另外,由于输入/输出接口与深度学习框架是通用的,所以用户在切换到深度学习框架时很容易检查出量化错误。

然而,由于每层的推断操作和伪量化都会产生一个小的浮点算术误差,所以结果与实际的机器结果并不完全匹配。

图4 使用快速仿真器的系统框图

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
MPU-9250 1 InvenSense Inc Analog Circuit, 1 Func, QFN-24
$10.86 查看
TPS2410PW 1 Texas Instruments 0.8-V to 16.5-V 1.2A IQ 290-uA Igate source N+1 and OR-ing power rail controller 14-TSSOP -40 to 85

ECAD模型

下载ECAD模型
$4.88 查看
MP6517GJS-XXXX-Z 1 Monolithic Power Systems Motion Control Electronic,
暂无数据 查看
瑞萨电子

瑞萨电子

(RENESAS)于2003年4月1日—由日立制作所半导体部门和三菱电机半导体部门合并成立。RENESAS结合了日立与三菱在半导体领域方面的先进技术和丰富经验,是无线网络、汽车、消费与工业市场设计制造嵌入式半导体的全球领先供应商。创立日期2003年4月1日公司法人董事长&CEO伊藤达业务范围单片机逻辑模拟等的系统LSI、分立半导体元件、SRAM等的存储器开发、设计、制造、销售、服务的提供。集团成员44家公司(日本20家,日本以外24家)年度销售额2006财年(截止至2007年3月):9526亿日元(约83亿美元)从业人员:26000人(全世界20个国家、43家公司)瑞萨科技是世界十大半导体芯片供应商之一,在很多诸如移动通信、汽车电子和PC/AV 等领域获得了全球最高市场份额。瑞萨集成电路设计(北京)有限公司苏州分公司(RDB-SU)是瑞萨科技全资子公司,2004年1月成立以来,现已拥有150多名优秀工程师,承担着家电和汽车电子领域MCU的一系列设计工作,并在2006年4月开始开发面向中国市场的MCU。

(RENESAS)于2003年4月1日—由日立制作所半导体部门和三菱电机半导体部门合并成立。RENESAS结合了日立与三菱在半导体领域方面的先进技术和丰富经验,是无线网络、汽车、消费与工业市场设计制造嵌入式半导体的全球领先供应商。创立日期2003年4月1日公司法人董事长&CEO伊藤达业务范围单片机逻辑模拟等的系统LSI、分立半导体元件、SRAM等的存储器开发、设计、制造、销售、服务的提供。集团成员44家公司(日本20家,日本以外24家)年度销售额2006财年(截止至2007年3月):9526亿日元(约83亿美元)从业人员:26000人(全世界20个国家、43家公司)瑞萨科技是世界十大半导体芯片供应商之一,在很多诸如移动通信、汽车电子和PC/AV 等领域获得了全球最高市场份额。瑞萨集成电路设计(北京)有限公司苏州分公司(RDB-SU)是瑞萨科技全资子公司,2004年1月成立以来,现已拥有150多名优秀工程师,承担着家电和汽车电子领域MCU的一系列设计工作,并在2006年4月开始开发面向中国市场的MCU。收起

查看更多

相关推荐

电子产业图谱

瑞萨电子提供创新嵌入式设计和完整半导体解决方案。作为专业微控制器供应商、模拟功率器件和SoC产品领导者,瑞萨电子为汽车、工业、家居、办公自动化、信息通信等应用提供综合解决方案。详见瑞萨官网。我们将与您分享近期产品技术资讯和新闻动态。