目录
torch.nn.Linear()是PyTorch库中torch.nn模块的一部分,用于创建一个线性变换层,或者说是全连接层。这个全连接层是神经网络中十分常见的组成部分,他执行线性操作(就像这样y=wx+b)(w:权重矩阵,b:偏置向量)
函数的定义
torch.nn.Linear(in_features,out_features,bias=Ture)创建一个线性变换层,参数说明:
①in_features:输入向量的特征数(向量的维度)
②out_features:输出向量的特征数(经过线性变换后所获得的向量的维度)
③bias:如果为True,那么该层会有一个偏置向量,如果为False,就不会
注意
torch.nn.Linear层的权重和偏置向量在创建时会被自动初始化。权重矩阵通常会使用各种各样的方式来进行初始化,例如kaiming初始化(有很多方法,可以查一下)。而偏置向量的默认初始化为0(但是也是可以进行修改的)
如何使用
import torch.nn as nn
linear_layer = nn.Linear(10,5)
##in_features参数指定了输入向量的大小,out_features参数指定了输出向量的大小
input_data=torch.randn(1,10)
#创建[1,10]的随机张量,作为输入
output=linear_layer(input_data)
print(output)
#测试输出(你也可以用output.shape来看看大小 )
演示代码并没有显示更多的其他功能,详情建议查看相关的使用文档。
总之,torch.nn.Linear是构建深度学习模型的重要工具,它提供了线性变换的基础,是许多神经网络架构的核心组件。