在PyTorch中,torch.nn.Linear
是一个用于定义线性变换的类。它将输入的特征向量进行线性变换,并输出一个新的特征向量。
在使用torch.nn.Linear
时,你需要指定输入特征的维度和输出特征的维度。这两个参数分别是in_features
和out_features
。例如,如果你有一个输入特征是100维,输出特征是50维的线性变换,可以使用以下方式创建一个Linear
对象:
import torch
import torch.nn as nn
linear = nn.Linear(100, 50)
然后,你可以将输入特征向量传递给线性层,使用forward
方法进行线性变换。例如,假设你有一个大小为[batch_size, 100]
的输入特征张量x
,你可以通过以下方式对其进行线性变换:
output = linear(x)
最后,output
将是一个大小为[batch_size, 50]
的特征张量,它是输入特征经过线性变换得到的结果。
此外,torch.nn.Linear
类还包含了参数权重weight
和偏置bias
,它们可以通过linear.weight
和linear.bias
来访问。这些参数会在模型训练过程中自动更新,以最小化定义的损失函数。