news 2026/5/26 5:04:20

探究nn.Linear和nn.Conv2d的基本用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探究nn.Linear和nn.Conv2d的基本用法

1问题

1.如何在pytorch中使用nn.Linear?

2.如何在pytorch环境中运用nn.Conv2d?

2 方法

1.首先在网上查询了关于nn.Linear的含义。PyTorch的nn.Linear()是用于设置网络中的全连接层的,需要注意在二维图像处理的任务中,全连接层的输入与输出一般都设置为二维张量,形状通常为[batch_size, size],不同于卷积层要求输入输出是四维张量。其中in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。out_features指的是输出的二维张量的大小,即输出的二维张量的形状为[batch_size,output_size],当然,它也代表了该全连接层的神经元个数。
从输入输出的张量的shape角度来理解,相当于一个输入为[batch_size, in_features]的张量变换成了[batch_size, out_features]的输出张量。

  1. Conv2d是用来实现2d卷积操作的,其中:

in_channels 表示输入的channels数

out_channels 表示输出的channels数,

kernel_size 表示卷积核的尺寸,可以是方形卷积核、也可以不是,下边example可以看到

stride 表示 步长,用来控制卷积核移动间隔

padding 表示输入边沿扩边操作

import torch
from torch import nn
conv1 = nn.Conv2d(
in_channels=3, #输入通道数
#每个卷积核的通道数与输入通道数相同
#卷积运算后得到128张特征图
out_channels=128, #输出通道数,表示当前卷积层有128个卷积核
kernel_size=3, #卷积核大小3x3
stride=1, #步长,每次滑动窗口移动的长度,默认为1
)
fc1 = nn.Linear(
in_features=128*26*26, #前一层拉伸后的向量大小
out_features=10,
)
x = torch.rand(size=(32,3,28,28))
x = conv1(x)
x = torch.flatten(x,1) #二维的特征图与全连接进行连接时需要拉伸
x = fc1(x)
#[32,3,28,28] -> [32,32,26,26]
print(x.shape)

输出:

3结语

针对探究nn.Linear问题,其用于设置网络中的全连接层的,需要注意在二维图像处理的任务中,全连接层的输入与输出一般都设置为二维张量,其中参数in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。out_features指的是输出的二维张量的大小。

针对nn.Conv2d问题,其用法是用来实现2d卷积操作的,其中包含了许多用于卷积的参数,in_channels、out_channels和kernel_size是需要手动提供的,而其他的参数是有默认值。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 5:42:47

3步告别糊涂账:开源记账系统如何帮你重建财务秩序

"钱都花到哪里去了?"这可能是很多人月底最常问自己的问题。工资刚到手就所剩无几,想存钱却总是存不下来,想要投资理财却连自己的收支状况都搞不清楚。这种财务混乱的状况,正在影响越来越多人的生活品质。 【免费下载链接…

作者头像 李华
网站建设 2026/5/26 4:16:06

C++ MFC Qt《高级程序设计实践》任务书(10题)[2025-12-16]

C MFC Qt《高级程序设计实践》任务书(10题)[2025-12-16] 《高级程序设计实践》 任务书 1. 基本要求 1)编写图形化界面,界面友好、美观 2)注意数据结构和程序结构的设计 3)注意程序的可读性和可扩展性 4)原则上不得使用全局变量 5)完成6-10个核心功能,代…

作者头像 李华
网站建设 2026/5/26 5:42:28

银行回单识别技术:企业财务智能化的重要基石

在财务部门的日常工作中,银行回单的处理往往是一个隐形成本中心:堆积如山的纸质回单需要人工逐张整理、核对、录入,耗时耗力且容易出错。随着企业交易频率的增高和数字化转型的深入,传统处理方式已难以适应高效、精准的财务运营需…

作者头像 李华
网站建设 2026/5/26 5:43:45

Archipack建筑建模插件:从零到精通的终极实战手册

Archipack建筑建模插件:从零到精通的终极实战手册 【免费下载链接】archipack Archipack for blender 2.79 项目地址: https://gitcode.com/gh_mirrors/ar/archipack 核心价值定位 Archipack作为Blender生态中的专业建筑建模插件,重新定义了参数…

作者头像 李华
网站建设 2026/5/26 6:56:44

[鸿蒙2025领航者闯关]人情往来应用开源项目实战

一款基于ArkTS与ArkUI开发的鸿蒙原生应用,为复杂的人际关系提供数字化管理方案 引言:当人情往来遇上数字时代 在中国文化中,人情往来不仅是简单的礼物交换,更是维系人际关系、表达情感的重要方式。然而,随着社交圈的扩…

作者头像 李华
网站建设 2026/5/26 6:54:05

Unitree GO2 ROS2 SDK终极指南:从零开始构建智能机器人系统

Unitree GO2 ROS2 SDK终极指南:从零开始构建智能机器人系统 【免费下载链接】go2_ros2_sdk Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU 项目地址: https://gitcode.com/gh_mirrors/go/go2_ros2_sdk 🎯 开篇思考:你的机…

作者头像 李华