PyTorch中,卷积层、池化层、转置卷积层输出特征图形状计算公式总结

在PyTorch中,卷积层(Convolutional Layer)、池化层(Pooling Layer,例如最大池化层)、以及转置卷积层(Transpose Convolutional Layer,也称为反卷积层或上采样层)的输出特征图形状可以根据输入特征图的形状和各层的参数计算输出。

假设输入特征图的形状为 (in_channel, in_height, in_width),以下是各层输出特征图形状的计算公式:

1. 卷积层(Convolutional Layer)输出特征图形状计算公式:

py 复制代码
out_channel = 卷积核的数量
out_height  = (in_height + 2 * padding - kernel_size) / stride + 1
out_width   = (in_width  + 2 * padding - kernel_size) / stride + 1

2. 池化层(Pooling Layer)输出特征图形状计算公式:

py 复制代码
out_channel = in_channel
out_height  = (in_height - kernel_size) / stride + 1
out_width   = (in_width  - kernel_size) / stride + 1

3. 转置卷积层(Transpose Convolutional Layer)输出特征图形状计算公式:

py 复制代码
out_channel = 卷积核的数量
out_height  = stride * (in_height - 1) + kernel_size - 2 * padding
out_width   = stride * (in_width  - 1) + kernel_size - 2 * padding
csharp 复制代码
如果步幅为s,填充为s/2(假设s/2是整数)且卷积核的高和宽为2s,转置卷积核会将输入的高和宽分别放大s倍

这些公式适用于PyTorch中的卷积、池化和转置卷积层,可以根据具体的网络架构和参数进行计算。

注意,PyTorch中的卷积层和池化层通常作为nn.Conv2dnn.MaxPool2d等模块提供,参数传递方式也要根据实际情况来设置。

相关推荐
巫山老妖几秒前
5分钟手把手教你开发一个MCP服务
人工智能
巫山老妖4 分钟前
大模型 MCP:开启 AI 与现实世界的无缝交互革命
人工智能
不吃香菜?10 分钟前
Opencv之dilib库:表情识别
人工智能·opencv·计算机视觉
郝YH是人间理想21 分钟前
OpenCV基础——傅里叶变换、角点检测
开发语言·图像处理·人工智能·python·opencv·计算机视觉
__Benco21 分钟前
OpenHarmony子系统开发 - 安全(十)
人工智能·harmonyos
白白糖21 分钟前
二叉树 递归
python·算法·力扣
odoo中国24 分钟前
深度学习 Deep Learning 第16章 结构化概率模型
人工智能·深度学习·结构化模型
白熊18829 分钟前
【计算机视觉】OpenCV实战项目- 抖音动态小表情
人工智能·opencv·计算机视觉
摸鱼仙人~31 分钟前
为什么有的深度学习训练,有训练集、验证集、测试集3个划分,有的只是划分训练集和测试集?
人工智能·深度学习
机器之心32 分钟前
7B扩散LLM,居然能跟671B的DeepSeek V3掰手腕,扩散vs自回归,谁才是未来?
人工智能