查官方文檔的api https://pytorch.org/docs/stable/nn.html
如下:
官方給的例子爲:
>>> m = nn.Linear(20, 30)
>>> input = torch.randn(128, 20)
>>> output = m(input)
>>> print(output.size())
torch.Size([128, 30])
那麼爲什麼會是這樣子呢?聰明的你肯定看出來端倪了
是不是對於矩陣來說:
[128, 30] = [128, 20] * [20, 30]
簡單來說, out = input * (nn.Linear()定義的矩陣) + bias
(默認都是加了bias的)
所以nn.Linear()有啥用呢?
我的理解就是,用做全連接層的二維的輸入輸出的節點的數目轉化.