卷积神经网络--padding

1. 当padding 为VALID时:

输出宽和高的公式代码为:

output_width = (input_width - filter_width + 1) / strides_width; (结果向上取整)

output_height = (input_height - filter_height + 1) / strides_height; (结果向上取整)

2.当padding 为SAME时:

输出宽和高与filter的宽高没有关系,只与步长的宽高有关系:

output_width = input_width / strides_width; (结果向上取整)

output_height = input_height / strides_height; (结果向上取整)

3. 补零规则:

pad_height = max((output_height - 1) * strides_height + filter_height - in_height , 0);

pad_width = max((out_width - 1) * strides_width +filter_width - in_width, 0);

    pad_top = pad_height / 2;

pad_bottom = pad_height - pad_top;

pad_left = pad_width / 2;

pad_right = pad_width - pad_left;

    pad_top,pad_bottom,pad_left,pad_right为补零的行数和列数。

或者:最简公式

valid: [(n-f)/s + 1] x [(n-f)/s + 1]; 该公式向下取整

same: [(n + 2p -f)/s +1] x [(n + 2p -f)/s +1]; 该公式向下取整