[RNN]tensorflow中lstm和gru的输入输出到底是什么???

说出我的看法,欢迎分享,因为我自己也不确定,,,不知道该如何解释。。。

先贴一下我看的文章:

  1. 如何理解lstm的输入输出:https://www.jianshu.com/p/c66369cfa0c7

例如这样一个数据集合,总共100条句子,每个句子20个词,每个词都由一个80维的向量表示。在lstm中,单个样本即单条句子输入下(shape是 [1 , 20, 80]),假如设定每一个time step的输入是一个词(当然这不一定,你也可以调成两个词或者更多个数的词),则在t0时刻是第一个时间步,输入x0则为代表一条句子(一个样本)中第1个词的80维向量,t1是第二个时间步,x1表示该句子中第2个词的80维向量,依次类推t19输入是最后一个词即第20个词的向量表示。
常见的tf或者keras中lstm的参数(samples, timestep, input_dim),samples是指批量训练样本的数量, timestep是时间步(这个时间步可自己设置)比如上面说的20,input-dim是每个time step的输入shape

  1. lstm输入输出参数你懂了吗:https://blog.csdn.net/ssswill/article/details/88429794

  2. 官方api:https://www.tensorflow.org/api_docs/python/tf/keras/layers/GRU?version=nightly

  3. 参数源码:https://segmentfault.com/a/1190000020603328?utm_source=tag-newest

最后说一下自己的见解,输入的3d为(batch_size,time_step,input_dim),分别为:

 batch_size:同时输入的一批样本。(=1则就是只输入一条样本)
 time_step:可以简单理解为lstm一层的单元数量。(一句话里一个词对应一个lstm)
 input_dim:表示一个特征的向量维数。(表示一个词的向量的维数)

初始化GRU时传入的units:可以理解为一个lstm单元中输出的向量维数。()
输出的2d为(batch_size,units),分别为:

 batch_size:同时输入的一批样本。(=1则就是只输入一条样本)
 units:一个lstm单元中向量维度。

我现在只能这么理解,但是感觉还是怪怪的,期待以后的改进,,,,
在这里插入图片描述
来个大佬给分享一下看法哇呀呀呀呀呀

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值