卷积神经网络的输入输出尺寸计算

给出输入尺寸和参数值计算输出尺寸

当给出:
输入尺寸(n * n)、卷积核尺寸(m * m)、步长Stride(s)、填充信息Padding ( p )
则输出尺寸为:
( ( n - m + 2 * p ) / s +1 ) * ( ( n - m + 2 * p ) / s +1 )
解释:
在这里插入图片描述
当输入图像为 :5 * 5,卷积核尺寸为:3 * 3, padding = 0 , stride = 1时,输入图像的卷积运算如下:
在这里插入图片描述

池化介绍

在这里插入图片描述

### 卷积神经网络中输入和输出维度的计算 对于卷积神经网络中的卷积层,假设输入图像的高度为 \( h \),宽度为 \( w \),通道数为 \( c \);卷积核大小为 \( k \times k \),填充大小为 \( p \),步幅为 \( s \),那么经过该卷积操作后的输出尺寸可以通过下面公式来确定: \[ H_{\text{out}} = \left\lfloor{\frac{(H_{\text{in}} + 2p - k)}{s} + 1}\right\rfloor \] \[ W_{\text{out}} = \left\lfloor{\frac{(W_{\text{in}} + 2p - k)}{s} + 1}\right\rfloor \] 其中 \( H_{\text{out}}, W_{\text{out}} \) 表示输出高度与宽度[^2]。 如果采用奇数尺寸卷积核,在处理边界像素时会更加高效。这是因为奇数尺寸允许卷积核中心精确地对准每一个输入特征图上的像素点,减少了不必要的零填充需求,进而降低了整体运算负担[^1]。 对于池化层而言,其参数设定通常类似于卷积层,即也涉及到窗口大小、步长以及可能存在的填充等因素。然而,由于池化过程本身并不涉及权重更新,因此只改变空间分辨率而不影响深度方向上的维度变化。 ```python def calculate_output_size(input_size, kernel_size, padding=0, stride=1): """ 计算给定条件下的输出尺寸 :param input_size: 输入尺寸 (height or width) :param kernel_size: 卷积核尺寸 :param padding: 填充数量,默认无填充 :param stride: 步长,默认为1 :return: 输出尺寸 """ output_size = ((input_size + 2 * padding - kernel_size) / stride) + 1 return int(output_size) # 示例调用 print(calculate_output_size(32, 3, 1)) # 对于标准CIFAR-10数据集的一个常见设置 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值