一、概念
在神經網絡中,我們通常用線性層來完成兩層神經元間的線性變換。
按照官網的解釋,Linear.weight也即A, 我們可以稱之為權重矩陣,對其轉置后乘以輸入數據(一般都是一維張量),加上Linear.bias即b偏置。
二、Pytorch示例
import torch
from torch import nninput1 = torch.tensor([[10., 20., 30.]])
linear_layer = nn.Linear(3, 5)
linear_layer .weight.data = torch.tensor([[1., 1., 1.],[2., 2., 2.],[3., 3., 3.],[4., 4., 4.],[5., 5., 5.]])linear_layer .bias.data = torch.tensor(0.6)
output = linear_layer(input1)
print(input1)
print(output, output.shape)
輸出
tensor([[10., 20., 30.]])
tensor([[ 60.6000, 120.6000, 180.6000, 240.6000, 300.6000]],grad_fn=<AddmmBackward>) torch.Size([1, 5])