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等模块提供,参数传递方式也要根据实际情况来设置。

相关推荐
千寻girling10 分钟前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
千寻girling16 分钟前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
AI攻城狮16 分钟前
OpenClaw 里 TAVILY_API_KEY 明明写在 ~/.bashrc,为什么还是失效?一次完整排查与修复
人工智能·云原生·aigc
stark张宇32 分钟前
构建第一个AI聊天机器人:Flask+DeepSeek+Postgres实战
人工智能·postgresql·flask
yiyu07162 小时前
3分钟搞懂深度学习AI:自我进化的最简五步法
人工智能·深度学习
浪浪山_大橙子4 小时前
OpenClaw 十分钟快速,安装与接入完全指南 - 推荐使用trae 官方 skills 安装
前端·人工智能
databook4 小时前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效
火山引擎开发者社区4 小时前
OpenClaw 快速上手:把云手机变成你的 7×24 小时 AI 手机助手
人工智能
Qlly4 小时前
DDD 架构为什么适合 MCP Server 开发?
人工智能·后端·架构
Lee川4 小时前
从零构建智能对话系统:AI Agent 实战指南
人工智能