
torch.nn.Linear(in_features, out_features, bias=True)
in_features输入的是二维张量的大小,输入[N, Hin]作为全连接层的输入,N一般指的是batch_size(样本数量),Him指的的是每一个样本的维度大小
out_features指的是输出的二维张量的大小,输出(N,Hout)N一般指的是batch_size(样本数量),Hout指的是每一个样本输出的维度大小,也代表了该全连接层的神经元个数
相当于一个输入为[batch_size, in_features]的张量变换成了[batch_size, out_features]的输出张量
定义一个全连接层输入维度大小10 输出维度大小15,测试其输入输出
>>> fc=nn.Linear(10,15)
>
定义一个input_text作为fc的输入,20个样本 每一个样本的维度大小为10
>>> input_text=torch.randn(20,10)
>>> input_text
tensor([[ 0.5634, 1.0797, -0.2739, -0.5231, -0.3393, 1.1104, -0.2017, -0.0966,
-1.4458, -1.7758],
[-1.4232, 0.6796, 0.1717, -0.4230, -0.2710, 1.2147, 1.7306, 0.0239,
0.7102, 0.1282],
[ 1.0540, 0.4645, 1.3008, -0.2010, 1.6890, 0.3166, -0.1252, -0.0690,
0.3482, 1.2433],
[ 1.4939, -1.0104, -0.1116, -0.0502, 0.7267, 0.3448, -0.4479, -0.4113,
-0.3029, -0.6073],
[-0.5994, -1.5742, -2.0787, 1.1467, -1.2804, 0.6828, -0.9692, -1.6204,
-1.0283, -0.6964],
[ 0.2336, -0.2322, 1.2112, -0.4068, -0.6032, 0.2960, -0.2923, -0.1780,
0.3501, -0.8640],
[ 1.3801, 0.7794, -0.6012, 2.0979, 0.8809, -0.7856, -0.0502, 0.9142,
0.1903, 2.3709],
[-0.3090, -1.3813, -0.1347, -0.9364, -0.7701, -0.6507, 1.5855, 1.2936,
-1.2553, 0.6814],
[ 0.0691, -0.6342, -0.3846, -1.2839, 0.9339, 0.4181, -0.1047, 0.9791,
-1.0878, 2.1031],
[ 0.4759, -0.4706, -0.5551, 0.7296, 0.0382, 0.9609, -1.6298, -0.1432,
-

本文详细介绍了PyTorch中torch.nn.Linear模块的工作原理,包括输入输出维度的定义及如何进行张量变换。通过具体实例,展示了如何创建全连接层,设置输入输出维度,并进行前向传播计算。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



