parameters - 使用pytorch的rnn中隐藏维度和n_layers之间的区别

标签 parameters model pytorch recurrent-neural-network hidden

我被困在隐藏维度和 n_layers 之间。到目前为止我所理解的是,使用pytorch的RNN参数中的n_layers,是隐藏层的数量。如果n_layers表示隐藏层数大于隐藏维数是多少?

最佳答案

实际上,文档非常清楚它们的区别。隐藏大小是 RNN 隐藏状态的特征数量。因此,如果您增加隐藏大小,那么您将计算更大的特征作为隐藏状态输出。

然而,num_layers 只是多个 RNN 单元,其中包含具有给定隐藏大小的隐藏状态。

num_layers=2 would mean stacking two RNNs together to form a stacked RNN, with the second RNN taking in outputs of the first RNN and computing the final results

我想解释 RNN 如何与下图一起工作。每个 RNN 单元(蓝色矩形)采用一个 h_n(隐藏状态)和一个输入。隐藏维度决定了h_n(隐藏状态)的特征向量大小。在每个时间步(t,图像中的水平传播),您的 rnn 将采用 h_n 和输入。然后,如果您的 n_layers >1,它将创建一个中间输出并将其提供给上层(垂直)。所以 hidden 维度决定了图像中水平 h_n 的大小,而 num_layers 决定了图像中垂直轴的蓝色单元格的数量。

RNN

关于parameters - 使用pytorch的rnn中隐藏维度和n_layers之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63294347/

相关文章:

c++ - 在 C++ 中评估默认参数在哪里?

php - Zend 框架中的模型

pytorch - 在训练期间更改 Dropout 值

python - 如何在 Pytorch 中实现 dropout,以及应用在哪里

powershell - 如何将参数值传递给 Invoke-Command cmdlet?

C 编程 - 返回无法正常工作

arrays - 通过参数 postgresql 返回列名

ruby-on-rails - Rails 添加独特的

jsf - 如何使用 jUnit 在 JSF 项目中测试 Controller 和模型?

python - 获取具有多个不明确元素的数组的真值以进行蛋白变换