python - 如何在pytorch上实现stacked rnn (num layers > 1)?
Posted
技术标签:
【中文标题】python - 如何在pytorch上实现stacked rnn (num layers > 1)?【英文标题】:how is stacked rnn (num layers > 1) implemented on pytorch? 【发布时间】:2021-11-16 12:00:37 【问题描述】:pytorch 中的 GRU 层接受一个名为 num_layers 的参数,您可以在其中堆叠 RNN。然而,目前尚不清楚后续 RNN 究竟如何使用前一层的输出。
根据文档:
循环层数。例如,设置 num_layers=2 意味着将两个 GRU 堆叠在一起形成一个堆叠的 GRU,第二个 GRU 接收第一个 GRU 的输出并计算最终结果。
这是否意味着 GRU 第一层的最后一个单元的输出作为输入馈送到下一层?或者这是否意味着每个单元的输出(在每个时间步)作为输入在下一层的同一时间步被馈送到单元?
【问题讨论】:
【参考方案1】:这是否意味着 GRU 第一层的最后一个单元的输出作为输入馈送到下一层?或者这是否意味着每个单元的输出(在每个时间步)作为输入在下一层的同一时间步被馈送到单元?
后者。第一层的每个时间步的输出被用作第二层相同时间步的输入。
a Keras tutorial 的这张图显示了多层 RNN 的结构:
【讨论】:
以上是关于python - 如何在pytorch上实现stacked rnn (num layers > 1)?的主要内容,如果未能解决你的问题,请参考以下文章
重磅 | Torch7团队开源PyTorch:Python优先的深度学习框架