pytorch 图像的卷积操作

目录

1.卷积核基本参数说明

 2.卷积相关操作说明

3.卷积操作示例


 

     1.卷积核基本参数说明

         pytorch进行图像卷积操作之前,需要把图像素格式进行分离,比如一个图像为rgb格式,把R,G,B取出来作为一个ndarray,前文讲过,在pytorch中进行图像转Tensor,大小变换,相关处理的库,基本都放在 from torchvision import transforms里面,对于把正常的图像转换为单独的RGB的ndarray,并且归一化,使用 transforms.ToTensor即可一次性完成转换。在训练图像相关模型的时候,主要是训练卷积核的参数,一般的3*3的卷积核结构如代码所示:

import cv2
import os

import numpy as np
import torch
import torchvision
from torchvision import transforms
from PIL import Image
from torch import nn
from matplotlib import pyplot as plt
from torchvision import transforms
#定义卷积核心,bias为False则不要偏置参数
#输入通道为3,输出通道为1,卷积核大小为3*3,偏置为真
cov = nn.Conv2d(3,1,3,bias=True)
print(cov.state_dict())

'''
OrderedDict([('weight', tensor([[[[ 0.1062,  0.0600, -0.0675],
    
### PyTorch图像卷积的计算公式 在 PyTorch 中,二维卷积操作通过 `torch.nn.Conv2d` 函数实现。该函数接受多个参数来定义卷积层的行为,其中一些关键参数包括输入通道数 (`in_channels`)、输出通道数 (`out_channels`)、卷积核大小 (`kernel_size`)、步幅 (`stride`) 和填充 (`padding`)。 对于给定的输入图像尺寸 \( H_{\text{in}} \times W_{\text{in}} \),经过卷积层后的输出尺寸可以通过以下公式计算: \[ H_{\text{out}} = \left\lfloor \frac{H_{\text{in}} + 2 \cdot \text{padding}[0] - \text{dilation}[0] \cdot (\text{kernel\_size}[0] - 1) - 1}{\text{stride}[0]} + 1 \right\rfloor \] \[ W_{\text{out}} = \left\lfloor \frac{W_{\text{in}} + 2 \cdot \text{padding}[1] - \text{dilation}[1] \cdot (\text{kernel\_size}[1] - 1) - 1}{\text{stride}[1]} + 1 \right\rfloor \][^4] 这些公式适用于一般的二维卷积情况。当涉及到池化层时,默认情况下不进行填充 (即 valid 模式),但如果设置了填充,则其计算方式与上述卷积层相同[^1]。 为了更好地理解这一过程,在 Python 中可以编写如下代码片段来进行验证: ```python import torch import torch.nn as nn # 定义一个简单的卷积层 conv_layer = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1) # 创建一个随机输入张量,模拟一批次单个RGB图片数据 input_tensor = torch.randn((1, 3, 224, 224)) # 应用卷积层并获取输出形状 output_tensor = conv_layer(input_tensor) print(f'Output shape: {output_tensor.shape}') ``` 此代码创建了一个具有特定配置的卷积层实例,并对其应用到一个假定的输入上,最后打印出经处理后的输出张量的形状。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值