PyTorch的nn.Linear()的理解

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

在这里插入图片描述

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,
         -
nn.LinearPyTorch中的一个类,用于定义一个全连接层。它接受两个参数,输入特征数和输出特征数。通过调用该类的实例,可以创建一个全连接层模型。 引用\[1\]中的代码展示了如何使用nn.Linear创建一个全连接层模型。在这个例子中,输入特征数为1,输出特征数为2。模型的结构包括一个线性层和一个ReLU激活函数。 引用\[2\]中的代码展示了另一个例子,使用nn.Linear实现了一个全连接层。在这个例子中,输入特征数为5,输出特征数为3。 引用\[3\]中的代码演示了如何使用nn.Linear进行预测。在这个例子中,输入特征数为2,输出特征数为1。通过将输入样本传递给模型,可以得到一个输出结果。 总结来说,nn.LinearPyTorch中用于定义全连接层的类,可以根据需要设置输入特征数和输出特征数,然后使用该类创建一个全连接层模型。 #### 引用[.reference_title] - *1* *2* [Pytorch入门之一文看懂nn.Linear](https://blog.csdn.net/MR_kdcon/article/details/108918272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Pytorch nn.Linear的基本用法与原理详解](https://blog.csdn.net/zhaohongfei_358/article/details/122797190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值