卷积输出图像的大小计算

本文介绍了卷积神经网络中卷积层的输出尺寸计算公式。输入图像尺寸为n*n,使用f*f的过滤器,设定步长为s,padding为p时,输出图像尺寸的计算公式为⌊(n+2p−fs+1)⌋∗⌊(n+2p−fs+1)⌋。

输入图像:n*n,
过滤器:f*f
步长:s,
padding:p
输出图像大小为:⌊(n+2p−fs+1))⌋∗⌊(n+2p−fs+1)⌋,⌊⌋表示向下取整

### 二维卷积运算中输出大小计算公式 在卷积神经网络(Convolutional Neural Networks, CNN)中,二维卷积运算的输出大小取决于输入大小卷积大小、步幅(stride)以及填充(padding)方式。具体计算公式如下: 假设输入图像的尺寸为 \(H \times W\)(高度和宽度),卷积核的尺寸为 \(K \times K\),步幅为 \(S\),填充为 \(P\),则卷积运算后输出特征图的尺寸可以表示为: \[ H_{\text{out}} = \left\lfloor \frac{H + 2P - K}{S} \right\rfloor + 1 \] \[ W_{\text{out}} = \left\lfloor \frac{W + 2P - K}{S} \right\rfloor + 1 \] 其中: - \(H_{\text{out}}\) 和 \(W_{\text{out}}\) 分别表示输出特征图的高度和宽度[^1]。 - \(P\) 是填充的大小,通常用于保持输出特征图与输入图像大小一致或满足特定需求[^2]。 - \(S\) 是步幅,控制卷积核在输入图像上的移动步长[^3]。 如果需要确保输出特征图的尺寸为整数,则可以通过调整填充 \(P\) 或步幅 \(S\) 来实现。例如,当 \(P = \frac{K-1}{2}\) 且 \(S = 1\) 时,输出特征图的尺寸与输入图像大小相同,这种设置通常称为“same”卷积[^2]。 以下是一个简单的 Python 实现示例,用于计算输出特征图的尺寸: ```python def calculate_output_size(input_size, kernel_size, stride, padding): """ 计算二维卷积运算后的输出特征图尺寸。 参数: input_size (tuple): 输入图像的尺寸 (高度, 宽度) kernel_size (int): 卷积核的尺寸 stride (int): 步幅 padding (int): 填充大小 返回: tuple: 输出特征图的尺寸 (高度, 宽度) """ H, W = input_size H_out = ((H + 2 * padding - kernel_size) // stride) + 1 W_out = ((W + 2 * padding - kernel_size) // stride) + 1 return H_out, W_out # 示例 input_size = (28, 28) # 输入图像尺寸 kernel_size = 3 # 卷积核尺寸 stride = 1 # 步幅 padding = 1 # 填充 output_size = calculate_output_size(input_size, kernel_size, stride, padding) print(f"输出特征图尺寸: {output_size}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值