pytorch 笔记:torch.nn.Linear() VS torch.nn.function.linear()
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch 笔记:torch.nn.Linear() VS torch.nn.function.linear()相关的知识,希望对你有一定的参考价值。
在torch的官方文档中,我们可以看到,在torch.nn.Linear()中包装了 torch.nn.function.linear()
毕竟两者的作用都是计算WX+b
但使用上还是有一定的区别的
1 nn.Linear()
他自己实现了初始化,所以调用linear时候的形参是输入和输出的维度即可
import torch
x=torch.nn.Linear(5,2)
data=torch.range(0,24).reshape(5,5)
data
'''
tensor([[ 0., 1., 2., 3., 4.],
[ 5., 6., 7., 8., 9.],
[10., 11., 12., 13., 14.],
[15., 16., 17., 18., 19.],
[20., 21., 22., 23., 24.]])
'''
x(data)
'''
tensor([[ 0.8468, -1.4685],
[ 0.5045, -2.9832],
[ 0.1622, -4.4980],
[-0.1801, -6.0127],
[-0.5224, -7.5275]], grad_fn=<AddmmBackward>)
'''
2 F.linear
weight=torch.randn(2,5)
weight
'''
tensor([[-0.5954, -1.3873, -2.1906, -1.0782, -0.0561],
[-1.0716, -1.7687, -1.3936, -0.5306, 0.0729]])
'''
bias=torch.randn(5,2)
bias
'''
tensor([[-0.4511, -0.3892],
[ 1.2683, 1.3100],
[-0.3304, -0.8511],
[-0.0068, -0.9265],
[-0.4657, 1.5505]])
'''
torch.nn.functional.linear(data,weight,bias)
'''
tensor([[ -9.0075, -5.6360],
[ -36.5703, -30.1186],
[ -63.2932, -53.7614],
[ -88.9689, -76.3569],
[-115.5863, -99.8941]])
'''
以上是关于pytorch 笔记:torch.nn.Linear() VS torch.nn.function.linear()的主要内容,如果未能解决你的问题,请参考以下文章