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

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

3天内不再提示

深入GRU:解锁模型测试新维度

恩智浦MCU加油站 来源:恩智浦MCU加油站 2024-06-27 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

之前带大家一起使用Keras训练了一个GRU模型,并使用mnist的手写字体数据集进行了验证。本期小编将继续带来一篇扩展,即GRU模型的测试方法。尽管我们将其当作和CNN类似的方式,一次性传给他固定长度的数据,但在具体实现上来说,还是另有门道的。让我们慢慢讲来。

首先回顾前面我们最终训练并导出的测试模型:

34919164-341f-11ef-a4c8-92fbcf53809c.png

注意红色标注的位置,这就是一个典型的GRU节点:

34aa4de4-341f-11ef-a4c8-92fbcf53809c.png

模型的输入是28*28,代表的含义是:时间步*特征维度,简单来说,就是一次性送入模型多久的数据,即时间步实际上是一个时间单位。例如,我们想测试1s的数据进行检测。那么可以将其提取出来10*28的特征向量,那么每一个特征代表的就是1s/10即100ms的音频特征。了解了时间步,再回到模型本身,这里就是其中一种模型推理形式。即一次性将所有的数据都送进去,即1s对应的特征数据。然后计算得出一个结果。好处是:所见所得,和CNN类似,缺点是:必须等待1s数据,且循环time_step次。

那有没有替代方案呢?当然,那就是小编要提到的另一种,我们在导出模型时候将time_step设置为1,并且设置stateful=True,同时将time_step=N的模型权重设置到新模型上。这里的stateful=True要注意,因为我们将之前连续的time_step拆成了独立的,因此需要让模型记住前一次的中间状态。

可能这里大家有些疑问,为什么两个模型time_step不同,权重竟然通用。这就要说GRU模型的特殊性了,我们刚才看到的被展开的小GRU节点,其实是权重共享的。也就是说,不管展开多少次,他们的权重不会变(这个读者可以打开模型自行查看验证)。因此,就可以用如下代码生成新模型,并设置权重:

# 构建新模型
new_model = Sequential()
new_model.add(GRU(128, batch_input_shape=(1, 1, 28), unroll=True, stateful=True))
new_model.add(Dense(10, activation='softmax'))
new_model.set_weights(model.get_weights())

让我们看看模型的样子:

34c73666-341f-11ef-a4c8-92fbcf53809c.png

是不是看起来非常清爽,请注意右下角那个AssignVariable,这个就是为了保存当前状态,在下一次推理可以直接使用上一次的状态。需要注意的是,由于模型输入变成了一个time step,即1*28,在送入模型前,要注意一下。后续处理部分,依旧是FullyConnected+Softmax的形式,其他没有改变,照常即可。

至此,所有关于GRU模型的介绍以及使用就全部讲完了。MCU端的部署要靠大家自行体验了,因为模型本身实际上可以使用和CNN一样的推理方案,只是内部结构不同而已,希望对大家有所帮助!

恩智浦致力于打造安全的连接和基础设施解决方案,为智慧生活保驾护航。

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

    关注

    147

    文章

    18605

    浏览量

    387031
  • 测试
    +关注

    关注

    8

    文章

    6027

    浏览量

    130717
  • Gru
    Gru
    +关注

    关注

    0

    文章

    12

    浏览量

    7730
  • 模型
    +关注

    关注

    1

    文章

    3648

    浏览量

    51712
  • cnn
    cnn
    +关注

    关注

    3

    文章

    355

    浏览量

    23248

原文标题:深入GRU:解锁模型测试新维度

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    小白必看:模型静态测试效率翻倍——MXAM详解#simulink #Siumlink模型测试

    模型
    北汇信息POLELINK
    发布于 :2025年10月24日 18:03:11

    如何在vivadoHLS中使用.TLite模型

    \"#include \"hls_model.h\"// 包含导入的模型头文件4. 定义输入和输出端口 根据模型的输入和输出形状,选择合适的数据类型和数组维度。例如,对于
    发表于 10-22 06:29

    Simulink模型测试典型问题分享——模型库管理问题

    典型测试问题分享-模型库管理问题 问题描述: 相同信号名称模型不同位置重复出现,导致编译异常报错(模型运行正常)。 名称存在逻辑冲突,例如右侧扭矩计算,但是名称为LeftTorqu
    的头像 发表于 09-21 23:22 960次阅读
    Simulink<b class='flag-5'>模型</b><b class='flag-5'>测试</b>典型问题分享——<b class='flag-5'>模型</b>库管理问题

    Siumulink模型测试典型问题分享——模型层级设计不合理

    典型测试问题分享-模型层级设计不合理 问题描述: 重点功能与非重点功能混合,导致测试层级选择困难。 模型未体现层级划分,结构平铺导致层级圈复杂度异常。 部分计算/判断/赋值等结构
    的头像 发表于 09-20 12:31 2779次阅读
    Siumulink<b class='flag-5'>模型</b><b class='flag-5'>测试</b>典型问题分享——<b class='flag-5'>模型</b>层级设计不合理

    利用超微型 Neuton ML 模型解锁 SoC 边缘人工智能

    还有更多 对标测试 下表列出了在同一 nRF52840 SoC 上运行的 LiteRT 模型(以前称为微控制器 TensorFlow Lite)和 Neuton 模型之间的对标测试
    发表于 08-31 20:54

    积算科技上线赤兔推理引擎服务,创新解锁FP8大模型算力

    模型轻量化部署方案。用户通过远程算力平台预置的模型镜像与AI工具,仅需50%的GPU算力即可解锁模型推理、企业知识库搭建、智能体开发,加速大模型
    的头像 发表于 07-30 21:44 724次阅读

    解锁高品质音频体验:探索音频质量评估与测试的科学之道

    。主观方法如MOS评分直观反映人类听感,而客观方法如PESQ和E-model以高效算法驱动自动化测试,二者结合为行业提供了精准的质量评估方案。本文将深入解析音频质量评估的核心方法与测试实践,带您走进
    发表于 07-22 11:15

    模型捉虫行家MV:致力全流程模型动态测试

    动态测试通过模拟真实运行数据,对模型及生成的代码进行“全维度体检”。这一过程层层递进:从单元测试聚焦单个模块的精准性,到集成测试验证模块间的
    的头像 发表于 07-09 16:37 885次阅读
    <b class='flag-5'>模型</b>捉虫行家MV:致力全流程<b class='flag-5'>模型</b>动态<b class='flag-5'>测试</b>

    从电压到内阻:解析成品电池综合测试仪的检测维度

    成品电池综合测试仪是电池生产与质检环节的核心设备,其检测维度覆盖电性能、物理特性及安全指标,为电池质量提供全面评估。 电压检测是电池测试的基础环节。测试仪通过高精度采样模块,同步测量电
    的头像 发表于 06-30 15:37 502次阅读

    LLaVA、RWKV、Qwen3... 移远端侧AI大模型解决方案实现多维度跃迁

    感知、架构创新、模型兼容性三大核心维度实现跨越式突破,不仅重新定义了终端设备的智能化边界,更为AI普惠化落地开辟了全新路径。近日,移远基于SG885GAI算力模组的
    的头像 发表于 06-23 19:07 735次阅读
    LLaVA、RWKV、Qwen3... 移远端侧AI大<b class='flag-5'>模型</b>解决方案实现多<b class='flag-5'>维度</b>跃迁

    企业级Claude API应用方案!完整调用攻略来袭:带你解锁Claude 3.5/3.7大模型

    企业级Claude API大模型应用开发,完整调用攻略来袭,带你解锁Claude 3.5/3.7大模型,满足企业级生产!无需魔法,无需外币充值,无需担心封号问题
    的头像 发表于 03-19 19:55 1559次阅读
    企业级Claude API应用方案!完整调用攻略来袭:带你<b class='flag-5'>解锁</b>Claude 3.5/3.7大<b class='flag-5'>模型</b>

    【外观革新,内核进化】南京大展DZ-DSC400系列差示,解锁材料研究新维度

    仪器的性能,今年,我们新推出了DZ-DSC400系列差示扫描量热仪,以“外观革新,内核进化”为核心特点,为我们解锁了材料研究的新维度。一、外观革新:科技与美学的完美
    的头像 发表于 03-14 11:46 657次阅读
    【外观革新,内核进化】南京大展DZ-DSC400系列差示,<b class='flag-5'>解锁</b>材料研究新<b class='flag-5'>维度</b>!

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    DeepSeek 模型的部署与测试,开启这场充满挑战与惊喜的技术探索之旅。 RK3588 开发板:AI 性能担当 RK3588 开发板基于先进的 8nm LP 制程工艺精心打造,其硬件配置堪称豪华,在 AI
    发表于 02-14 17:42

    【「大模型启示录」阅读体验】对大模型深入的认知

    阅读《大模型启示录》这本书,我得说,它彻底颠覆了我对大模型的理解。作为一个经常用KIMI和豆包这类AI工具来完成作业、整理资料的大学生,我原以为大模型就是这些工具背后的技术。但这本书让我意识到
    发表于 12-20 15:46

    【「大模型启示录」阅读体验】如何在客服领域应用大模型

    地选择适合的模型。不同的模型具有不同的特点和优势。在客服领域,常用的模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)、Transformer等,以及基
    发表于 12-17 16:53