为什么torch.nn.function.linear中权重的维度是(out,in)而不是(in,out)

问题描述 投票:0回答:1

在torch.nn.function.linear的文档中(https://pytorch.org/docs/stable/ generated/torch.nn.function.linear.html),权重输入的维度为(out_features, in_features) 然后在计算输出时对权重矩阵进行转置:y=xA^T+b。他们为什么这样做而不是采用维度矩阵 W(in_features、out_features)并执行 y=xW+b?

通过执行 y=xW+b 尺寸将匹配,因此我找不到上述的明确原因。

machine-learning matrix deep-learning pytorch
1个回答
0
投票

尚不完全清楚他们为什么这样做。很久以前,由于某种原因,它就以这种方式实现了,现在改变它是向后不兼容的。您可以在here找到对此的讨论。转置操作不会增加任何开销,因此没有性能激励来更改它。

© www.soinside.com 2019 - 2024. All rights reserved.