news 2026/6/9 15:55:36

探究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/6/9 21:55:26

二叉搜索树与双向链表

目录 基本要求 节点结构 核心算法:中序遍历 指针修改 算法思想 递归实现 非递归实现 复杂度分析 时间复杂度: 空间复杂度: 基本要求 这是一个经典的算法问题:将二叉搜索树(BST)转换成一个排序的双…

作者头像 李华
网站建设 2026/6/10 9:47:31

抖音视频批量下载器:从技术小白到下载高手的完整指南

"哎呀,昨天那个直播太精彩了,想保存下来反复看,可是抖音居然不支持下载!" 这是多少抖音用户的共同困扰?别担心,今天我要向你推荐一款开源神器——抖音下载器,它能帮你把心爱的视频、直…

作者头像 李华
网站建设 2026/6/9 23:16:39

EmotiVoice支持哪些音频格式输出?WAV/MP3/Ogg?

EmotiVoice支持哪些音频格式输出?WAV/MP3/Ogg? 在语音合成技术逐渐融入日常生活的今天,从智能音箱的温柔问候到虚拟主播的生动演绎,TTS(Text-to-Speech)系统早已不再只是“把文字念出来”那么简单。用户期待…

作者头像 李华
网站建设 2026/6/10 11:14:31

基于VUE的汽车维修保养智能预约系统 [VUE]-计算机毕业设计源码+LW文档

摘要:随着汽车保有量的不断增加,汽车维修保养市场的需求日益增长。为了提高汽车维修保养服务的效率和质量,本文设计并实现了一个基于VUE的汽车维修保养智能预约系统。该系统利用VUE框架的前端优势,结合后端技术,实现了…

作者头像 李华
网站建设 2026/6/10 11:16:19

如何快速实现大屏自适应:前端开发的终极解决方案

如何快速实现大屏自适应:前端开发的终极解决方案 【免费下载链接】autofit.js autofit.js 迄今为止最易用的自适应工具 项目地址: https://gitcode.com/gh_mirrors/aut/autofit.js autofit.js 是专为前端开发者打造的大屏自适应终极工具,无论您是…

作者头像 李华