解释return_sequence和return_state

在TensorFlow中,递归layer无论是LSTM还是GRU,最终都是调用的RNN的call方法,返回的RNN的call方法返回的值,其实现链接位于recurrent.py

对其进行简化,代码如下

if self.return_sequences:
  output = outputs
else:
  output = last_output

if self.return_state:
    states = list(states)
  return [output] + states
else:
  return output

也就是说,return_sequence参数决定的是返回第一个参数是最后一个输出(final_output)还是整个序列的输出(outputs),而return_state决定是在返回的输出后(无论是哪种输出),是否输出最后一个细胞状态。

使用LSTM时候如果return_state = True,那么会在output的基础上多返回两个值,如果是GRU,则只会返回一个值,因为后两个值相同。

在这里插入图片描述
更详细的说明可以看一下这篇博客,讲解的非常清楚
参考链接:https://www.dlology.com/blog/how-to-use-return_state-or-return_sequences-in-keras/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值