python零基础,最近赶鸭子上架学习。对Linear产生了一定的疑惑,查阅资料后得到了解答。
首先,nn.Linear的一般形式为:
nn.Linear(in_features,out_features,bias = True )
大致就是通过线性变换改变样本大小
线性变换:y=A x + b
既然改变一定有输入和输出,从形式中可以看出有in_features和out_features,但这两个只是输入输出张量的大小。那么这个nn.Linear是如何对输入进行影响并得到输出的呢?
参考https://www.cnblogs.com/Archer-Fang/p/10645473.html的例子
代码:
m = nn.Linear(20, 30)
input = autograd.Variable(torch.randn(128, 20))
output = m(input)
print(output.size())
#输出
torch.Size([128, 30])
对于此时的m具体叫什么并不了解,希望各位指正后我做出标注。但就是先创建m再产生output的一个过程。