gpt4 book ai didi

deep-learning - PyTorch LSTM 中的 "hidden"和 "output"有什么区别?

转载 作者:行者123 更新时间:2023-12-03 06:32:47 24 4
gpt4 key购买 nike

我无法理解 PyTorch 的 LSTM 模块(以及类似的 RNN 和 GRU)的文档。关于输出,它说:

Outputs: output, (h_n, c_n)

  • output (seq_len, batch, hidden_size * num_directions): tensor containing the output features (h_t) from the last layer of the RNN, for each t. If a torch.nn.utils.rnn.PackedSequence has been given as the input, the output will also be a packed sequence.
  • h_n (num_layers * num_directions, batch, hidden_size): tensor containing the hidden state for t=seq_len
  • c_n (num_layers * num_directions, batch, hidden_size): tensor containing the cell state for t=seq_len

变量outputh_n似乎都给出了隐藏状态的值。 h_n 是否只是冗余地提供已包含在 output 中的最后一个时间步长,还是还有其他更多内容?

最佳答案

我做了一个图表。名称遵循 PyTorch docs ,尽管我将 num_layers 重命名为 w

output 包含最后一层中的所有隐藏状态(“最后”深度方向,而不是时间方向)。 (h_n, c_n) 包含最后一个时间步之后的隐藏状态,t = n,因此您可以将它们输入另一个 LSTM。

LSTM diagram

不包括批处理尺寸。

关于deep-learning - PyTorch LSTM 中的 "hidden"和 "output"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48302810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com