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
    +关注

    关注

    146

    文章

    17123

    浏览量

    350992
  • 测试
    +关注

    关注

    8

    文章

    5269

    浏览量

    126599
  • Gru
    Gru
    +关注

    关注

    0

    文章

    12

    浏览量

    7477
  • 模型
    +关注

    关注

    1

    文章

    3226

    浏览量

    48809
  • cnn
    cnn
    +关注

    关注

    3

    文章

    352

    浏览量

    22203

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    如何评估AI大模型的效果

    评估AI大模型的效果是一个复杂且多维度的过程,涉及多个方面的考量。以下是一些关键的评估方法和步骤: 一、基准测试(Benchmarking) 使用标准数据集和任务来评估模型的性能,如G
    的头像 发表于 10-23 15:21 821次阅读

    软件测试六大问 全面而深入的软件测试行业解疑

    随着科技的进步和大数据时代的到来,‌软件测试面临着前所未有的挑战和机遇。‌在这篇文章中我们将深入讨论软件测试行业的发展前景、行业趋势、薪资水平等,为读者提供一次全面而深入的软件
    的头像 发表于 07-30 10:28 279次阅读

    AI大模型与小模型的优缺点

    在人工智能(AI)的广阔领域中,模型作为算法与数据之间的桥梁,扮演着至关重要的角色。根据模型的大小和复杂度,我们可以将其大致分为AI大模型和小模型。这两种
    的头像 发表于 07-10 10:39 2658次阅读

    如何加速大语言模型推理

    的主要挑战。本文将从多个维度深入探讨如何加速大语言模型的推理过程,以期为相关领域的研究者和开发者提供参考。
    的头像 发表于 07-04 17:32 517次阅读

    摩尔线程与智谱AI完成大模型性能测试与适配

    近日,摩尔线程与智谱AI在人工智能领域开展了一轮深入的合作,共同对GPU大模型进行了适配及性能测试。此次测试不仅涵盖了大模型的推理能力,还涉
    的头像 发表于 06-14 16:40 1066次阅读

    GRU是什么?GRU模型如何让你的神经网络更聪明 掌握时间 掌握未来

    适用于处理图像识别和计算机视觉任务。今天要给大家介绍一位新朋友,名为GRU。 Gated RecurrentUnit(GRU)是一种用于处理序列数据的循环神经网络(RNN)模型。 先来插播一条,RNN
    发表于 06-13 11:42 1688次阅读
    <b class='flag-5'>GRU</b>是什么?<b class='flag-5'>GRU</b><b class='flag-5'>模型</b>如何让你的神经网络更聪明 掌握时间 掌握未来

    GRU模型实战训练 智能决策更精准

    上一期文章带大家认识了一个名为GRU的新朋友, GRU本身自带处理时序数据的属性,特别擅长对于时间序列的识别和检测(例如音频、传感器信号等)。GRU其实是RNN模型的一个衍生形式,巧妙
    的头像 发表于 06-13 09:22 1339次阅读
    <b class='flag-5'>GRU</b><b class='flag-5'>模型</b>实战训练 智能决策更精准

    【大语言模型:原理与工程实践】大语言模型的评测

    在知识获取、逻辑推理、代码生成等方面的能力。这些评测基准包括语言建模能力、综合知识能力、数学计算能力、代码能力和垂直领域等多个维度。对于微调模型,对话能力的评测关注模型在对话任务中的全维度
    发表于 05-07 17:12

    【大语言模型:原理与工程实践】探索《大语言模型原理与工程实践》2.0

    《大语言模型“原理与工程实践”》是关于大语言模型内在机理和应用实践的一次深入探索。作者不仅深入讨论了理论,还提供了丰富的实践案例,帮助读者理解如何将理论知识应用于解决实际问题。书中的案
    发表于 05-07 10:30

    【大语言模型:原理与工程实践】探索《大语言模型原理与工程实践》

    《大语言模型》是一本深入探讨人工智能领域中语言模型的著作。作者通过对语言模型的基本概念、基础技术、应用场景分析,为读者揭开了这一领域的神秘面纱。本书不仅
    发表于 04-30 15:35

    深入解析与无线通信RFIC设计与测试实用指南

    深入解析与无线通信RFIC设计与测试实用指南
    发表于 04-16 11:03 310次阅读
    <b class='flag-5'>深入</b>解析与无线通信RFIC设计与<b class='flag-5'>测试</b>实用指南

    Stage 模型深入解读

    HarmonyOS 3.1 版本(API 9)推出了全新应用开发模型 - Stage 模型,该模型重新定义了应用开发的能力边界,从应用开发模型的角度,支持多窗口形态下统一的应用组件生命
    的头像 发表于 02-18 09:28 1145次阅读
    Stage <b class='flag-5'>模型</b><b class='flag-5'>深入</b>解读

    模型智能的革命:如何打破算力瓶颈

    模型的参数量主要取决于隐藏层的维度和构成模型的Block的数量,我们假定隐藏层的维度为 h,Block 的数量为 i,那么,大模型的参数量
    发表于 01-16 11:34 499次阅读
    大<b class='flag-5'>模型</b>智能的革命:如何打破算力瓶颈