卷积神经网络下层数据维度怎么计算
时间: 2024-02-25 14:35:55 浏览: 75
基于NDIS中间层驱动的网络数据过滤程序开发概括
5星 · 资源好评率100%
在卷积神经网络中,每一层的数据维度可以根据输入数据的大小、卷积核的大小、步长、填充等参数来计算。
假设输入数据的大小为 $(N, C_{in}, H_{in}, W_{in})$,卷积核的大小为 $(C_{out}, C_{in}, K_H, K_W)$,步长为 $S$,填充为 $P$,则卷积后输出的数据大小为:
$$(N, C_{out}, H_{out}, W_{out})$$
其中,
$$H_{out} = \lfloor\frac{H_{in} + 2P - K_H}{S}\rfloor + 1$$
$$W_{out} = \lfloor\frac{W_{in} + 2P - K_W}{S}\rfloor + 1$$
这里的 $\lfloor x \rfloor$ 表示向下取整。
举例说明,假设输入数据大小为 $(32, 3, 224, 224)$,卷积核大小为 $(64, 3, 3, 3)$,步长为 $1$,填充为 $1$,则卷积后输出数据的大小为 $(32, 64, 224, 224)$。其中,
$$H_{out} = \lfloor\frac{224 + 2 \times 1 - 3}{1}\rfloor + 1 = 224$$
$$W_{out} = \lfloor\frac{224 + 2 \times 1 - 3}{1}\rfloor + 1 = 224$$
因此,输出数据的大小为 $(32, 64, 224, 224)$。
阅读全文