理解卷积神经网络(CNN)四个基本概念二:池化

池化的目的是采样,减少计算量

import numpy as np

feature_map = np.array([
    [1, 1, 1, 1],
    [1, 1, 1, 1],
    [2, 2, 2, 2],
    [2, 2, 2, 2]
])

print('特征图:\n', feature_map)

pooled = np.zeros((2, 2))

for i in range(0, 4, 2):
    for j in range(0, 4, 2):
        pooled[i // 2, j // 2] = np.max(feature_map[i:i+2, j:j+2])

print('池化结果:\n', pooled)

执行结果:

特征图:
 [[1 1 1 1]
 [1 1 1 1]
 [2 2 2 2]
 [2 2 2 2]]
池化结果:
 [[1. 1.]
 [2. 2.]]

Leave a Reply