0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

瑞萨电子 来源:未知 2023-07-13 18:15 次阅读

摘要

瑞萨提供的R-Car SoC相关的一些DNN模拟器中,本文将重点介绍能够实现与实际硬件等价运算的Accurate Simulator,并说明如何应用它来分析和提高神经网络的精度。

太田 寛史

Principal Software Engineer

9eabd0e6-2165-11ee-962d-dac502259ad0.png

背景

R-Car SoC是我们提出的一种高性能、低功耗的SoC。为了在R-Car SoC上运行客户用主流深度学习框架(如PyTorch、TensorFlow等)训练的模型,需要采用剪枝(*1)和量化(*2)等非等效的近似方法进行模型压缩。我们提供的R-Car CNN工具,不仅可以在R-Car SoC上执行上述近似程序,运行客户训练好的深度学习模型,还可以根据客户的应用场景提供不同精度和速度的模拟器。这样即使您没有R-Car SoC硬件,也可以验证操作和进行性能预估。(*3)

在各类模拟器中,Accurate Simulator能获得与实际R-Car SoC最为一致的输出结果。本文提出使用Accurate Simulator对模型进行调试分析和精度改进的方法。通过逐步追踪在实际的R-Car SoC中无法确认的模型的中间输出,我们将介绍确定意外结果产生原因并提高准确性的方法。

9eabd0e6-2165-11ee-962d-dac502259ad0.png

使用场景

为了将客户训练好的深度学习模型转换成可以在R-Car SoC上执行的格式,需要进行非等价的近似模型压缩,如剪枝和量化。量化是一种将为浮点运算的模型近似为整数运算模型的方法。在这个过程中,每层输出张量的最大值和最小值由多个输入图像估计,每层权重参数的最大值和最小值,以及量化参数(scaleとzero point)将被确定(校准)。当在实际的R-Car SoC或模拟器(*4)上验证这个量化模型时,与原始训练模型的结果相比,不同的输入图像数据可能会导致意想不到的结果。在这种情况下,使用Accurate Simulator来分析模型是非常有用的,它可以直接观察模型中的中间输出,而这些输出在实际的R-Car SoC上无法获取。

9eabd0e6-2165-11ee-962d-dac502259ad0.png

使用Accurate Simulator

进行模型分析的流程

在上述案例中,校准时输入图像数据的质量或数量不足,可能导致(a)校准不理想或(b)中间输出波动较大的层所导致的量化失败。在这种情况下,首先确定原因是(a)还是(b),然后采取(a)增加或更新输入图像数据并再次进行校准,或(b)确定发生问题的层并增加该层的位宽以提高量化模型的准确性等有效方法。

Accurate Simulator是一个模拟器,旨在确保输出结果与实际的R-Car SoC机器完全匹配。与R-Car SoC不同,Accurate Simulator允许用户提取模型中每一层的中间输出。具体来说,用户可以用Accurate Simulator从输入图像数据的层侧开始逐一提取各层的中间输出,并与原始训练模型的中间输出相比较以确认误差。

9eabd0e6-2165-11ee-962d-dac502259ad0.png

演示示例

当使用我们的R-Car SoC时,客户使用我们的R-Car CNN工具将训练好的模型转换为R-Car SoC的执行格式并执行。以下假设在原始训练模型(例如TensorFlow)和R-Car SoC的输出结果在运行时不匹配的情况下找出原因并解决的方法。我们将说明如何使用Accurate Simulator直接比较原始TensorFlow模型和R-Car可执行格式模型的中间输出来估计量化误差。

1

将客户训练好的TensorFlow模型转换为ONNX,并使用我们的R-Car CNN工具将其转换为Accurate Simulator可执行的格式,同时提供量化条件和足够数量的图像数据用于校准。

2

运行客户的TensorFlow模型,提取要比较的层的中间输出。

3

使用R-Car SDK runtime,运行①中生成的Accurate Simulator的执行格式模型。需要比较的层的中间输出可以在这个步骤被提取出来。

4

比较在②和③中得到的中间输出的组成部分。Accurate Simulator的输出结果是在模型量化的前提下以整数表示的,我们也准备了反量化的工具。图中的图表显示了由TensorFlow和Accurate Simulator生成的中间输出张量成分的直接比较。在这个例子中,比较结果几乎是相同的,这一层没有任何问题。

5

重复步骤①到④,以确定近似被破坏的那一层。通过增加相关层的量化参数的显示位宽(如从8位到16位)可以提高量化模型的输出结果精度。

wKgZomSzwAOAZtHdAAJ8XQrG-RE122.png

图1:TensorFlow和Accurate Simulator之间的中间输出比较流程

9eabd0e6-2165-11ee-962d-dac502259ad0.png

总结

本文介绍了一种方法,当客户训练的模型在我们的R-Car SoC上运行,其输出结果不尽如人意的时候,可以使用Accurate Simulator找出原因并提高模型的精度。Accurate Simulator的设计是为了获得与实际R-Car SoC相当的计算结果,可用于调查无法使用实际设备检查的模型的中间输出。我们希望客户能利用这一点进行模型的调试评估,提高模型的精度。今后,瑞萨将继续致力于R-Car CNN工具的开发,供客户用于模型评估和验证。

备注

(*1)对识别结果贡献小的权重被设置为零,这些权重的计算被跳过,从而减少计算量和内存的使用。

(*2)推理过程中浮点计算通常被转换为近似(如8bit)的整数运算。这里的量化被称为PTQ(post training quantization),它通过使用多个输入图像进行校准来优化量化参数(scale & zero point)。

(*3)点击查看往期文章:R-Car DNN模拟器的介绍

(*4)除了Accurate Simulator外,瑞萨还提供指令集模拟器(ISS),其目的是实现与实际硬件相当的计算精度。不仅如此,ISS还模拟实际硬件的计算过程本身,使用户能够在非常接近实际硬件的环境下测试模型。

1

END

1

瑞萨电子 (TSE: 6723)

科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。更多信息,敬请访问renesas.com


原文标题:工程师说 | R-Car DNN模拟器的介绍 (2)

文章出处:【微信公众号:瑞萨电子】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 瑞萨
    +关注

    关注

    35

    文章

    22309

    浏览量

    86304

原文标题:工程师说 | R-Car DNN模拟器的介绍 (2)

文章出处:【微信号:瑞萨电子,微信公众号:瑞萨电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    瑞萨R-Car Gen 5打造面向未来的多域融合车载计算解决方案

    近期,在2024年德国慕尼黑电子展(electronica 2024)上,我很荣幸地向众多国际媒体介绍了瑞萨电子专为软件定义汽车(SDV)打造的第五代(Gen 5)R-Car SoC。
    的头像 发表于 12-09 10:54 268次阅读

    瑞萨R-Car M3的电源设计

    电子发烧友网站提供《瑞萨R-Car M3的电源设计.pdf》资料免费下载
    发表于 11-27 14:38 0次下载
    瑞萨<b class='flag-5'>R-Car</b> M3的电源设计

    电动汽车交流接口模拟器相关介绍

    吉事励电动汽车交流接口模拟器也叫便携式充电桩测试仪,是一种用于测试和验证电动汽车充电设备性能和安全性的仪器。它主要用于模拟电动汽车的交流充电接口,与充电设备进行通信和交互,以确保充电设备能够正确
    的头像 发表于 11-26 18:10 155次阅读
    电动汽车交流接口<b class='flag-5'>模拟器</b>相关<b class='flag-5'>介绍</b>

    瑞萨电子推出全新R-Car X5系列汽车多域融合SoC

    全球半导体解决方案供应商瑞萨电子(TSE:6723)宣布推出全新一代汽车多域融合系统级芯片(SoC)——R-Car X5系列,单个芯片可同时支持多个汽车功能域,包括高级驾驶辅助系统(ADAS)、车载
    的头像 发表于 11-22 18:12 487次阅读

    瑞萨电子发布R-Car X5系列汽车多域融合SoC

    近日,全球领先的半导体解决方案提供商瑞萨电子正式推出了全新一代汽车多域融合系统级芯片(SoC)——R-Car X5系列。该系列SoC能够单个芯片同时支持多个汽车功能域,涵盖了高级驾驶辅助系统
    的头像 发表于 11-15 15:57 344次阅读

    如何使用光伏模拟器

    光伏模拟器是一种用于模拟太阳能光伏电池工作原理和性能的软硬件设备。它能够提供光伏电池在不同光照、温度和环境条件下的电流、电压、功率等参数,用于测试和评估光伏电池的性能,并帮助开发、优化和验证光伏系统
    的头像 发表于 10-30 17:12 228次阅读
    如何使用光伏<b class='flag-5'>模拟器</b>

    瑞萨电子推出R-Car V4M系列SoC,扩展ADAS解决方案

    全球半导体解决方案供应商瑞萨电子近日宣布,正式推出面向入门级高级驾驶辅助系统(ADAS)的系统级芯片(SoC)——R-Car V4M系列,以进一步扩展其备受市场欢迎的R-Car产品家族。
    的头像 发表于 10-12 15:42 391次阅读

    瑞萨电子推出全新R-Car V4M系列车用SoC

    全球半导体解决方案供应商瑞萨电子(TSE:6723)宣布推出面向入门级高级驾驶辅助系统(ADAS)的系统级芯片(SoC)——R-Car V4M系列,以扩展其广受欢迎的R-Car产品家族。全新
    的头像 发表于 10-11 11:39 528次阅读
    瑞萨电子推出全新<b class='flag-5'>R-Car</b> V4M系列车用SoC

    负载模拟器是干什么的,负载模拟器需要接电源吗

    负载模拟器是一种用于模拟各种负载条件的设备,它在多个领域都有着广泛的应用。以下是对负载模拟器的主要功能和用途的详细解析:
    的头像 发表于 10-01 15:57 585次阅读

    电池模拟器的原理和运用介绍

    电池模拟器是一种功能强大的设备,它能够精确模拟电池在实际使用中的多种特性,包括电压、电流和内阻等。这种设备在现代科技中发挥着重要作用,特别是在电池管理系统和充放电设备的测试与校准方面。随着
    的头像 发表于 09-11 16:11 853次阅读
    电池<b class='flag-5'>模拟器</b>的原理和运用<b class='flag-5'>介绍</b>

    通过GNSS模拟器实现RTK高精度定位 #RTK #GNSS模拟 #GNSS仿真 #GNSS模拟器

    定位模拟器
    虹科卫星与无线电通信
    发布于 :2024年09月06日 17:52:32

    瑞萨电子发布R-Car Open Access平台,加速软件定义汽车开发

    全球半导体解决方案领域的佼佼者瑞萨电子近日宣布,正式推出全新的软件定义汽车(SDV)开发平台——R-Car Open Access(RoX)。该平台以全面整合的形式,为车辆开发人员提供了一站式的解决方案,助力他们迅速开发具备高度安全性和持续软件更新能力的下一代汽车。
    的头像 发表于 06-22 14:10 869次阅读

    威廉希尔官方网站 仿真模拟器怎么用

    威廉希尔官方网站 仿真模拟器是电子工程师和学生必备的一类软件工具。通过使用威廉希尔官方网站 仿真模拟器,用户可以在计算机上模拟和分析各种威廉希尔官方网站 设计,从而避免在实际搭建威廉希尔官方网站 之前出现错误和浪费资源。本文将详细
    的头像 发表于 05-04 10:53 2355次阅读

    Sudachi模拟器项目启动,Yuzu开发者将涉足多平台任天堂Switch开发

    作为iOS逆向工程师及应用开发者,Jarrod Norwell(网名为@antique_codes)曾成功将任天堂3DS模拟器Citra、Switch模拟器Yuzu移植到了iPhone和iPad上。
    的头像 发表于 03-08 15:13 4137次阅读

    【鸿蒙 HarmonyOS】鸿蒙手机模拟器 ( 鸿蒙远程模拟器 | 鸿蒙远程模拟器运行手机应用 )

    一、鸿蒙远程模拟器 选择 菜单栏 / Tools / HVD Manager , 首次点击 , 会提示下载模拟器相关资源 , 下载完成后可以通过浏览连接远程模拟器 ;   点击 HV
    的头像 发表于 01-26 15:02 2525次阅读
    【鸿蒙 HarmonyOS】鸿蒙手机<b class='flag-5'>模拟器</b> ( 鸿蒙远程<b class='flag-5'>模拟器</b> | 鸿蒙远程<b class='flag-5'>模拟器</b>运行手机应用 )