关于PyTorch LSTM的weight_ih_l[k]维度与proj_size匹配的疑问
PyTorch LSTM 权重形状标注问题说明
你提到的标注矛盾确实属于文档错误,具体逻辑梳理如下:
- 官方文档对
~LSTM.weight_ih_l[k](第k层输入到隐藏状态的可学习权重,由W_ii|W_if|W_ig|W_io四部分拼接而成)的形状标注规则为:k=0时形状为(4*hidden_size, input_size),k>0时标注为(4 * hidden_size, num_directions * hidden_size) - 你的推导逻辑完全正确:当LSTM启用投影层(即设置了非零的
proj_size参数)时,第0层的输出形状为(L, N, num_directions*proj_size),k>0层的输入维度等于上一层的输出维度,因此对应权重的第二个维度应该是num_directions * proj_size,和文档标注的num_directions * hidden_size不符。
目前该标注错误已经被官方确认,后续会在版本更新中完成修复。
内容的提问来源于stack exchange,提问作者Mrityu
相关产品推荐
相关产品推荐

