卷积的计算——nn.Conv2d(Torch.nn里的Convolution Layers模块里的Conv2d类)

**前置知识:

1、张量和通道

张量:多维数组,用来表示数据(图像、视频等)

通道:图像数据的一部分,表示不同的颜色或特征层

通道只是张量的其中一个维度

以一张RGB图像为例,

该图像数据可以用一个三维张量(shape等于(C,H,W))来表示

其中C表示通道数(对于RGB图像,C=3),H表示高度,W表示宽度

再以一批64张图像组成的数据对象来看,

它可以用一个四维张量(shape等于(N,C,H,W))来表示

其中N表示批次大小(一批次图像的数量)

关于通道的补充:

2、Reshape:输入数据和卷积核张量的重塑

input = torch.reshape(input, (1, 1, 5, 5))

  • 1 :第一个 1 表示有 1 张图片(批量大小)
  • 1 :第二个 1 表示输入的通道数(这里是单通道,表示灰度图像)
  • 55:分别表示图像的高度和宽度

kernel = torch.reshape(kernel, (1, 1, 3, 3))

  • 1 :第一个 1 表示有 1 个卷积核(输出通道数)
  • 1 :第二个 1 表示卷积核的输入通道数(与input的输入通道数匹配)
  • 33:分别表示卷积核的高度和宽度

通过重塑,增加的信息主要是关于批量大小和通道数,

这使得输入和卷积核符合 conv2d 函数的要求

(输入张量必须是四维的,形状为 (N, C, H, W),

卷积核(权重)必须是四维的,形状为 (out_channels, in_channels, kernel_height, kernel_width):)

补充:

一张2*2RGB图像与一个3*3卷积核的卷积:

reshape后:

input的形状是(1,3,2,2),1表示1张图片

卷积核的形状是(1,3,3,3),1表示1个输出通道

3、output=F.conv2d(input,kernel,stride=1,padding=1)

|---------|----------------------------|
| input | 输入张量(4维) |
| kernel | 卷积核(4维) |
| stride | 卷积核移动的步幅(可以是一个整数或元组,默认为 1) |
| padding | 在输入的边缘添加零填充(帮助保持输出的空间尺寸) |

**代码:

步骤:

import torch.nn.functional as F

定义input、kernel------>修改成四维形状reshape------>使用conv2d进行卷积

灰度图像的卷积:帮助识别图像中的特定特征,如边缘或纹理

python 复制代码
import torch
import torch.nn.functional as F

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]
])

#卷积核
kernel=torch.tensor([
    [1,2,1],
    [0,1,0],
    [2,1,0]
])

print(input.shape)
print(kernel.shape)

input=torch.reshape(input,(1,1,5,5))  #图片数,图层数(通道数),宽,高
kernel=torch.reshape(kernel,(1,1,3,3))

print(input.shape)
print(kernel.shape)

output1=F.conv2d(input,kernel,stride=1)
print(output1)

output2=F.conv2d(input,kernel,stride=2)
print(output2)

output3=F.conv2d(input,kernel,stride=1,padding=1)
print(output3)
相关推荐
阿坡RPA8 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户27784491049938 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心8 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI10 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c11 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
你觉得20511 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清11 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh12 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员12 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn
币之互联万物12 小时前
2025 AI智能数字农业研讨会在苏州启幕,科技助农与数据兴业成焦点
人工智能·科技