• 【Keras】AveragePooling1D层和GlobalAveragePooling1D层


    AveragePooling1D层

    tf.keras.layers.AveragePooling1D(
        pool_size=2, strides=None, padding="valid", data_format="channels_last", **kwargs
    )
    
    • 1
    • 2
    • 3
    • 平均池化用于时序数据。
    • 下采样输入表示,通过对被定义为pool_size的窗口取平均值。窗口根据步长strides进行切换。
    • 当使用"valid" (padding)填充选项时,结果的输出的形状为:output_shape = (input_shape - pool_size + 1) / strides)
    • 示例代码1:
    >>> x = tf.constant([1., 2., 3., 4., 5.])
    >>> x = tf.reshape(x, [1, 5, 1])
    >>> x
    <tf.Tensor: shape=(1, 5, 1), dtype=float32, numpy=
      array([[[1.],
              [2.],
              [3.],
              [4.],
              [5.]], dtype=float32)>
    >>> avg_pool_1d = tf.keras.layers.AveragePooling1D(pool_size=2,
    ...    strides=1, padding='valid')
    >>> avg_pool_1d(x)
    <tf.Tensor: shape=(1, 4, 1), dtype=float32, numpy=
    array([[[1.5],
            [2.5],
            [3.5],
            [4.5]]], dtype=float32)>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 当使用"same"(padding)填充选项时,输出形状:output_shape = input_shape / strides
    • 示例代码2:
    >>> x = tf.constant([1., 2., 3., 4., 5.])
    >>> x = tf.reshape(x, [1, 5, 1])
    >>> x
    <tf.Tensor: shape=(1, 5, 1), dtype=float32, numpy=
      array([[[1.],
              [2.],
              [3.],
              [4.],
              [5.]], dtype=float32)>
    >>> avg_pool_1d = tf.keras.layers.AveragePooling1D(pool_size=2,
    ...    strides=1, padding='same')
    >>> avg_pool_1d(x)
    <tf.Tensor: shape=(1, 5, 1), dtype=float32, numpy=
    array([[[1.5],
            [2.5],
            [3.5],
            [4.5],
            [5.]]], dtype=float32)>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    参数:

    • pool_size:平均池化窗口的大小;
    • strides:步长,如果是None,它默认值为pool_size。
    • data_format:字符串,可选项为“channels_last”和“channels_first”。也就是输入中的维度排序,channels_last 对应于inputs with shape (batch, steps, features),channels_first 对应于 inputs with shape (batch, features, steps)。

    GlobalAveragePooling1D层

    tf.keras.layers.GlobalAveragePooling1D(data_format="channels_last", **kwargs)
    
    • 1

    示例代码:

    >>> input_shape = (2, 3, 4)
    >>> x = tf.random.normal(input_shape)
    >>> y = tf.keras.layers.GlobalAveragePooling1D()(x)
    >>> print(y.shape)
    (2, 4)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    调用参数:

    • inputs:一个三维的tensor。
    • mask:二元的tensor,它的shape是(batch_size, steps),表明给定的step是否应该被masked(也就是从平均值里剔除)。

    官方文档:

    • https://keras.io/api/layers/pooling_layers/average_pooling1d/
    • https://keras.io/api/layers/pooling_layers/global_average_pooling1d/
  • 相关阅读:
    Mysql Explain
    《MATLAB 神经网络43个案例分析》:第32章 小波神经网络的时间序列预测——短时交通流量预测
    SAMBA配置
    Kamiya丨Kamiya艾美捷抗-C-Myc,多克隆说明书
    向毕业妥协系列之机器学习笔记:监督学习-回归与分类(二)
    记一次postman转curl过程(解决三个问题)
    【Aseprite】2D史莱姆怪物制作
    element el-input 二次封装
    Vue2+ThreeJS工程无痛搭建指南
    Maven项目中如何引入本地的jar包
  • 原文地址:https://blog.csdn.net/GW_Krystal/article/details/127640586