给定一个卷积操作后的特征图和一个池化窗口的大小,要求实现最大池化操作。最大池化是深度学习中常用的图像处理方法,它通过在特征图上应用池化窗口并取每个窗口中的最大值,减少了数据的尺寸和计算量,同时保留了图像的主要特征。
某医疗诊断公司在进行医疗图像识别的过程中,使用了基于卷积神经网络(CNN)的机器学习模型。其中,卷积层后的最大池化操作是关键步骤之一,它有助于减少模型的计算负担并提取特征的最重要部分。请根据输入描述和输出描述中的要求,
编程实现与CNN中最大池化操作相关的子功能。
最大池化:最大池化是一种子采样方法,它在卷积操作后进行,用于减少模型的计算负担并提取特征的最重要部分。最大池化操作的步骤是:在卷积后的特征图中,选取一个固定大小的窗口,以固定的步长滑动窗口,并在每个窗口中选取最大的值作为该窗口的输出。
输入第一行是一个2维的list,用于表示卷积后的特征图,形如[[1,2,1,2],[3,4,3,4],[1,2,1,2],[3,4,3,4]],且所有的list组成的都是方阵。第二行输入是一个1维的list参数,长度固定为2,形如[2,2],这两个元素分别表示池化窗口的宽度和高度。
返回值为一个2维的list,表示经过最大池化操作后的特征图
输入
[[1, 2, 1, 2], [3, 4, 3, 4], [1, 2, 1, 2], [3, 4, 3, 4]]
[2,2]
输出
[[4,4],[4, 4]]
输入
[[1, 3, 2, 4], [5, 7, 6, 8], [1, 3, 2, 4], [5, 7, 6, 8]]
[3,3]
输出
[[7]]