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

    文章

    16210

    浏览量

    345480
  • 测试
    +关注

    关注

    8

    文章

    4661

    浏览量

    125447
  • Gru
    Gru
    +关注

    关注

    0

    文章

    12

    浏览量

    7449
  • 模型
    +关注

    关注

    1

    文章

    2823

    浏览量

    48048
  • cnn
    cnn
    +关注

    关注

    3

    文章

    328

    浏览量

    21590

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

    适用于处理图像识别和计算机视觉任务。今天要给大家介绍一位新朋友,名为GRU。 Gated RecurrentUnit(GRU)是一种用于处理序列数据的循环神经网络(RNN)模型。 先来插播一条,RNN
    发表于 06-13 11:42 282次阅读
    <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 606次阅读
    <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 144次阅读
    <b class='flag-5'>深入</b>解析与无线通信RFIC设计与<b class='flag-5'>测试</b>实用指南

    揭秘大语言模型可信能力的五个关键维度

    不同于上述工作从待干预模型自身抽取引导向量,我们意在从LLMs预训练过程的切片中构建引导向量来干预指令微调模型(SFT Model),试图提升指令微调模型的可信能力。
    发表于 03-15 09:42 231次阅读
    揭秘大语言<b class='flag-5'>模型</b>可信能力的五个关键<b class='flag-5'>维度</b>

    Stage 模型深入解读

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

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

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

    百度文心一言开通会员后可解锁文心大模型4.0

    百度文心一言开通会员后可解锁文心大模型4.0 今天百度上线文心一言会员模式,把文心一言大模型4.0设置为付费放开,文心一言大模型定价为59.9元/月,连续包月优惠价为49.9元/月,而
    的头像 发表于 11-01 15:58 1021次阅读

    MSP430™ MCU 又一新玩法,解锁简易肺活量测试

    MSP430™ MCU 又一新玩法,解锁简易肺活量测试
    的头像 发表于 10-26 17:05 456次阅读
    MSP430™ MCU 又一新玩法,<b class='flag-5'>解锁</b>简易肺活量<b class='flag-5'>测试</b>仪

    按键荷重测试仪的多维度分析

    按键荷重测试仪的多维度分析
    的头像 发表于 10-18 09:16 698次阅读
    按键荷重<b class='flag-5'>测试</b>仪的多<b class='flag-5'>维度</b>分析

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    视觉领域,随着人们对该模型深入研究,它也逐渐被应用于自然语言处理、语音识别等领域。本文将着重介绍CNN的模型原理、训练方法以及在实际应用中的效果。 一、模型原理 CNN的核心思想是通
    的头像 发表于 08-21 17:11 937次阅读

    如何使用TensorFlow将神经网络模型部署到移动或嵌入式设备上

    。 使用TensorFlow对经过训练的神经网络模型进行优化,步骤如下: 1.确定图中输入和输出节点的名称以及输入数据的维度。 2.使用TensorFlow的transform_graph工具生成优化的32位模型。 3.
    发表于 08-02 06:43