详解Keras 2.0 API:Keras.layers.MaxPooling2D

1、语法

tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)


2、参数说明

  • pool_size: 下采样因子的大小。默认为(2, 2)。通常情况下,翻倍采样,例如将图片的大小从28x28减小到14x14。如果指定为(1, 1),则不会有下采样,输出的大小与输入相同。

  • strides: 步长大小。默认为pool_size也就是2。沿输入的高度和宽度方向的步长大小。

  • padding: 全零填充。默认为'valid'。如果设置为'same',则在输入的边缘周围填充适当的数量,以便在进行池化操作时,输出大小与输入大小相同。

  • data_format: 图像格式。默认为None,表示使用TensorFlow的默认数据格式。


3、示例

此示意图中,滑动块的最大值分别是[[7,5,6],[7,8,5],[4,5,7]],分别对应着输出块的唯一值。对于滑动块中的任何值,MaxPooling2D层都会保留最大值,并将其他值丢弃。

MaxPooling2D用于特征提取和降维。它通常被用于在卷积层后进行下采样,以降低卷积层输出的维度并减少计算量。

from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
from tensorflow.keras.models import Sequential

model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(8, 8, 1)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(10, activation='softmax'))

model.summary()

 打印模型:

Model: "sequential"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv2d (Conv2D)             (None, 6, 6, 32)          320       
                                                                 
 max_pooling2d (MaxPooling2D  (None, 3, 3, 32)         0         
 )                                                               
                                                                 
 flatten (Flatten)           (None, 288)               0         
                                                                 
 dense (Dense)               (None, 10)                2890      
                                                                 
=================================================================
Total params: 3,210
Trainable params: 3,210
Non-trainable params: 0
_________________________________________________________________

根据以上代码可以看出:

输入特征图:8*8(1)

第一层Conv2D卷积核:3*3(32)

第一层Conv2D输出为:6*6(32)

第二层MaxPooling2D的pool_size:2*2 (32)

第二层MaxPooling2D的输出为:3*3 (32)

第三层Flatten拉平后输出为:3*3*32=288(1)

第四层全连接层为:10

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据引用中的资料,正确的导入方式是从tensorflow中导入keras模块。对于属性'Pooling2D'的错误提示,可能是因为该属性在导入时使用了错误的命名空间。 您可以尝试使用以下导入方式来解决此问题: ``` from tensorflow.keras.layers import MaxPooling2D ``` 这样,您就可以正确地使用MaxPooling2D模块了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [AttributeError: module 'tensorflow.compat.v1' has no attribute '](https://download.csdn.net/download/qq_38766019/86272235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [菜尼奥排错之kerastensorflow.compat.v2.__internal__‘ has no attribute ‘register_clear_session_...](https://blog.csdn.net/yueyueniaolzp/article/details/121820916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [module ‘tensorflow.compat.v2.__internal__‘ has no attribute ‘tf2](https://blog.csdn.net/weixin_44731100/article/details/121356206)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘起性空、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值