【发布时间】:2019-04-27 04:23:29
【问题描述】:
昨天偶遇this question,第一次注意到线性层nn.Linear的权重在应用matmul之前需要转置。
Code 用于应用权重:
output = input.matmul(weight.t())
这是什么原因?
为什么权重不是从一开始就处于转置形状,所以不需要每次都在应用层之前进行转置?
【问题讨论】:
-
谢谢!我正要提交完全相同的问题——干得好,SO的算法建议它可能是重复的。 (他们的理由并不完全正确,因为在使用模型时只使用了前向传递......但最终向后兼容胜过所有其他论点,不是吗。)
标签: matrix neural-network deep-learning matrix-multiplication pytorch