一、概念
在神经网络中,我们通常用线性层来完成两层神经元间的线性变换。
按照官网的解释,Linear.weight也即A, 我们可以称之为权重矩阵,对其转置后乘以输入数据(一般都是一维张量),加上Linear.bias即b偏置。
二、Pytorch示例
import torch
from torch import nn
input1 = 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])