107_PyTorch 实战:深度解析 nn.Conv2d 卷积层参数与应用

在理解了卷积的数学原理后,我们需要掌握如何在 PyTorch 代码中具体实现它。nn.Conv2d 是构建卷积神经网络(CNN)最频繁使用的模块。本篇将详细拆解其核心参数,并通过实战代码展示其对图像维度的影响。

1. 卷积层的分类

PyTorch 提供了不同维度的卷积工具,以适配不同的数据类型:

  • Conv1d:一维卷积,常用于序列数据(如文本、音频)。
  • Conv2d:二维卷积,标准工具,用于处理图像数据。
  • Conv3d:三维卷积,用于处理视频序列或医学影像(如 CT 扫描)。

2. 深入理解 nn.Conv2d 的核心参数

110_卷积层.ipynb 中,重点介绍了以下几个决定卷积效果的关键参数:

  • in_channels:输入通道数(如 RGB 图像为 3)。
  • out_channels :输出通道数。它代表了卷积核(滤波器)的个数,每个卷积核会提取一种特征。
  • kernel_size :卷积核的大小。定义为 3 代表 3*3。在训练过程中,卷积核内部的数值会自动调整,但尺寸是预设好的。
  • stride (步长) :卷积核滑动的快慢。默认是 1
  • padding (填充):在图片四周补 0 的层数,用于控制输出尺寸。

3.维度计算公式:输出图片多大?这是卷积层使用中最核心的数学问题。

给定输入尺寸,输出尺寸 的计算公式如下:

提示:如果计算结果不是整数,PyTorch 默认会向下取整(floor)。


4. 实战代码:观察图像的变化

文件通过代码演示了如何将一个简单的 5x5 矩阵经过卷积层处理:

Python

复制代码
import torch
import torch.nn as nn

# 1. 模拟输入数据:BatchSize=1, Channel=1, 高=5, 宽=5
input = torch.tensor([[1, 2, 0, 3, 1],
                      [0, 1, 2, 3, 1],
                      [1, 2, 1, 0, 0],
                      [5, 2, 3, 1, 1],
                      [2, 1, 0, 1, 1]], dtype=torch.float32)
input = torch.reshape(input, (1, 1, 5, 5))

# 2. 定义卷积层
# 输入1通道,输出1通道,卷积核3x3,步长1,无填充
conv = nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=0)

# 3. 前向传播
output = conv(input)
print(output.shape) # 结果为 torch.Size([1, 1, 3, 3])

5. 总结:卷积层的"学习"本质

我们应该理解到:

  1. 参数化:卷积层中的卷积核(Kernel)是具有参数的,网络通过反向传播来学习这些参数,从而使其能够识别出有用的特征。
  2. 降维与特征提取 :通过调整 stridekernel_size,卷积层在提取特征的同时,通常也会减小图像的宽高,从而降低后续计算的复杂度。
相关推荐
CS创新实验室37 分钟前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
能有时光41 分钟前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
直接冲冲冲44 分钟前
鱼书-PH4-类的作用
深度学习
fthux1 小时前
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(一)整体架构与扩展入口
人工智能·ai·开源·github·open source
aqi002 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
xixixi777772 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
AI小码2 小时前
LLM 应用的缓存工程:当每次 API 调用都在燃烧成本
java·人工智能·spring·计算机·llm·编程·api
code 小楊2 小时前
AI函数调用:Function Calling从理论到实战全解析
人工智能
delishcomcn2 小时前
智切未来:AI算法如何重塑不干胶标签分切机的精度与效率边界
人工智能·神经网络·计算机视觉
观远数据3 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql