Calculate CNN Output Size
in Devlog / MLDLStudy on Dl, Cv, Cnn, Receptive field
Convolution output size와 RF(Receptive Field) Size를 계산하는 공식입니다.
- O</b>: Size of output image
- I</b>: Size of input image
- K</b>: Size of kernels used in the convolution layer
- N</b>: Number of kernels
- S</b>: Stride of the convolution layer
- P</b>: Padding size
AlexNet 예시
- AlexNet의 입력 이미지 크기를 227 x 227 x 3이라 하고 첫 번째 convolution layer(
conv_1
)가 11 x 11 x 3kernel
96개,stride = 4
,padding = 0
일 경우 \(O=\frac{227 - 11 + 2 * 0}{4}+1=55\) - 따라서
conv_1
의 출력 텐서 사이즈는 55 x 55 x 96이며, 3채널(RGB) 이미지이기 때문에 3이 곱해져 총 55 x 55 x 96(kernel개수) x 3이 최종 출력 사이즈가 됨.
Calculate Receptive Field Size
\(InputSize=(OutputSize\ -\ 1)\times KernelStride+KernelSize.\)
- ReceptiveField : Size of the receptive field can be reversed from the output network size.
- InputSize : Size of the sense node of the output node.
- KernelStride : Moving step size of the convolutional kernel.
- KSize : Size of the convolution kernel between input and output.