📅  最后修改于: 2023-12-03 15:05:37.005000             🧑  作者: Mango
torch.nn.Linear
是PyTorch中的一个线性层(全连接层)。它接受输入的特征,对每个输入特征进行加权求和,然后通过可选的偏置进行调整,最后输出一个新的特征。
参数:
代码示例:
import torch.nn as nn
# 创建一个线性层,并设置输入特征数量为10,输出特征数量为5
linear_layer = nn.Linear(10, 5)
# 打印该层的权重矩阵和偏置矩阵
print(linear_layer.weight)
print(linear_layer.bias)
输出结果:
Parameter containing:
tensor([[-0.1784, -0.1574, -0.2804, -0.0452, 0.1411, -0.0836, 0.0116, 0.2902,
-0.1733, -0.1999],
[-0.2397, -0.1683, -0.2701, 0.1185, 0.2009, -0.0747, -0.1200, 0.3155,
-0.0651, -0.1919],
[ 0.1595, -0.2345, 0.0467, 0.2355, -0.1675, -0.1563, -0.2793, 0.2891,
-0.3035, -0.1825],
[-0.0192, -0.0308, 0.0413, -0.1923, -0.2211, -0.1294, -0.1354, -0.0424,
-0.1550, -0.0774],
[-0.2931, 0.0782, 0.0900, -0.3093, -0.1429, -0.1914, -0.0470, -0.2844,
0.2202, -0.1766]], requires_grad=True)
Parameter containing:
tensor([ 0.1931, 0.1887, -0.1089, -0.3079, -0.0583], requires_grad=True)
如上所示,我们创建了一个输入特征数量为10,输出特征数量为5的线性层,并打印了它的权重矩阵和偏置矩阵。其中,权重矩阵的大小为5x10(5行10列),偏置矩阵的大小为5(1行5列)。需要注意的是,这些权重和偏置都是可学习的参数,我们可以通过反向传播算法不断迭代它们来让模型更好地拟合数据。