当前位置: 首页 > news >正文

【PyTorch】nn.Conv2d函数详解

nn.Conv2d 是 PyTorch 中的一个卷积层,用于实现二维卷积操作

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None
)

参数解释

in_channels:输入的通道数,RGB 图像的输入通道数为 3
out_channels:输出的通道数
kernel_size:卷积核的大小,一般我们会使用 5x5、3x3 这种左右两个数相同的卷积核,因此这种情况只需要写 kernel_size = 5这样的就行了。如果左右两个数不同,比如3x5的卷积核,那么写作kernel_size = (3, 5),注意需要写一个 tuple,而不能写一个 list。
stride = 1:卷积核在图像窗口上每次平移的间隔,即所谓的步长。
padding:指图像填充,后面的int型常数代表填充的多少(行数、列数),默认为0。需要注意的是这里的填充包括图像的上下左右,以padding=1为例,若原始图像大小为[32, 32],那么padding后的图像大小就变成了[34, 34]
dilation:是否采用空洞卷积,默认为1(不采用)。从中文上来讲,这个参数的意义从卷积核上的一个参数到另一个参数需要走过的距离,那当然默认是1了,毕竟不可能两个不同的参数占同一个地方吧(为0)。更形象和直观的图示可以观察Github上的Dilated convolution animations,展示了dilation=2的情况。
groups:决定了是否采用分组卷积,groups参数可以参考groups参数详解
bias:即是否要添加偏置参数作为可学习参数的一个,默认为True。
padding_mode:即padding的模式,默认采用零填充。

nn.Conv2d 的使用方法一般如下:

import torch.nn as nn

# 定义卷积层
conv = nn.Conv2d(in_channels=3, out_channels=32, kernel_size=3, stride=1, padding=1)# 输入数据
x = torch.randn(1, 3, 224, 224)# 前向计算
out = conv(x)

这里我们定义了一个输入通道数为 3,输出通道数为 32,卷积核大小为 3x3,步长为 1,边界填充数为 1 的卷积层。然后,我们定义了一个大小为 (1, 3, 224, 224) 的输入数据 x,执行前向计算得到输出 out。

注意,对于卷积操作,输入数据一般为四维张量,需要按照 batchsize × 通道数 × 高度 × 宽度的维度排列,这里 x 的大小为 (1, 3, 224, 224) 表示 batchsize 为 1,通道数为 3,输入图像的尺寸为 224x224。

参考:https://blog.csdn.net/weixin_40895135/article/details/130034019
https://blog.csdn.net/See_Star/article/details/127560160

http://www.lryc.cn/news/112515.html

相关文章:

  • 数智保险 创新未来 | GBASE南大通用亮相中国保险科技应用高峰论坛
  • 分布式天梯图算法在 Redis 图数据库中的应用
  • 观察者模式——对象间的联动
  • 【雕爷学编程】Arduino动手做(189)---特别苗条,使用微波传感器控制的纤细小车
  • 机器学习基础算法及其实现
  • docker安装MinIO
  • 第5章 运算符、表达式和语句
  • 24考研数据结构-图的存储结构邻接矩阵
  • 在线推算两个日期相差天数的计算器
  • Spring源码解析(七):bean后置处理器AutowiredAnnotationBeanPostProcessor
  • 【C#学习笔记】引用类型(1)
  • STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建
  • java中javamail发送带附件的邮件实现方法
  • Stable Diffusion高阶技能(2)-稳定扩散百态:解密AI绘画工具「SD WebUI」的提示词高级使用策略
  • 【果树农药喷洒机器人】Part2:机器人变量喷药系统硬件选型
  • 解决vite+vue3项目npm装包失败
  • Rust之错误处理
  • docker compose快速编排
  • java.io.File类的使用
  • TypeScript技能总结(三)
  • python绿色版运行程序,python 绿色版免安装
  • Python 向Excel写数据
  • MySQL(1)
  • Android10 Recovery系列(二)增加OTG升级功能
  • el-popover使用自定义图标
  • KCOM4串口转键鼠控制线测试说明
  • 2023华数杯数学建模C题完整5问代码思路分析
  • 02_kafka_基本概念_基础架构
  • HTTP 常用状态码 301 302 304 403
  • 分布式 - 服务器Nginx:一小时入门系列之静态网页配置