tensorflow之神经网络层:MaxPooling1D、max_pooling1d、MaxPooling2D、max_pooling2d

微信公众号:数据挖掘与分析学习

1.tf.layers.MaxPooling1D

Class MaxPooling1D:1D输入的最大池化层

参数:

  • pool_size:一个整数或者一个单个整数的tuple/list,表示池化窗口的大小
  • strides:一个整数或者一个单个整数的tuple/list,指定池化操作的移动步幅
  • padding:一个字符串。padding的方法:”valid”或者’same’
  • data_format:一个字符串,channels_last(默认)或channels_first中的一个,输入中维度的排序,channels_last对应于具有形状(batch, length, channels)的输入,而channels_first对应于具有形状(batch, channels, length)的输入。
  • name:一个字符串,表示层的名称。

x=tf.Variable(tf.random_normal([2,9,1]))

max_pool=tf.layers.MaxPooling1D(pool_size=2,strides=2,padding="SAME")

print(max_pool(x))

max_pool=tf.layers.MaxPooling1D(pool_size=2,strides=2)

print(max_pool(x))

输出:

Tensor("max_pooling1d_4/Squeeze:0", shape=(2, 5, 1), dtype=float32)

Tensor("max_pooling1d_5/Squeeze:0", shape=(2, 4, 1), dtype=float32)

2.tf.layers.max_pooling1d

参数及作用同MaxPooling1D类。

tf.layers.max_pooling1d(

    inputs,

    pool_size,

    strides,

    padding='valid',

    data_format='channels_last',

    name=None

)

print(tf.layers.max_pooling1d(x,pool_size=2,strides=2))

输出:

Tensor("max_pooling1d_7/Squeeze:0", shape=(2, 4, 1), dtype=float32)

3.tf.layers.MaxPooling2D

Class MaxPooling2D:2D输入的最大池化层

参数:

  • pool_size:一个整数或者2个整数的元组/列表:(pool_height,pool_width),指定池化窗口的大小。 可以是单个整数,以为所有空间维度指定相同值。
  • strides:一个整数或者2个整数的元组/列表,指定池操作的步幅。 可以是单个整数,以为所有空间维度指定相同值。
  • padding:字符串,“valid”或者”same”
  • data_format:一个字符串,channels_last(默认)或channels_first中的一个,输入中维度的排序,channels_last对应于具有形状(batch,height, width, channels)的输入,而channels_first对应于具有形状(batch, channels, height,width)的输入。
  • name:层的名称。

x=tf.Variable(tf.random_normal([10,28,28,3])) #[batch_szie,height,weight,channel]

max_pool=tf.layers.MaxPooling2D(pool_size=[2,2],strides=[2,2],padding='SAME')

print(max_pool(x))

max_pool=tf.layers.MaxPooling2D(pool_size=[2,2],strides=[2,1],padding='SAME')

print(max_pool(x))

输出:

Tensor("max_pooling2d_1/MaxPool:0", shape=(10, 14, 14, 3), dtype=float32)

Tensor("max_pooling2d_2/MaxPool:0", shape=(10, 14, 28, 3), dtype=float32)

4.tf.layers.max_pooling2d

tf.layers.max_pooling2d(

    inputs,

    pool_size,

    strides,

    padding='valid',

    data_format='channels_last',

    name=None

)

参数及作用同max_pooling2d

max_pool=tf.layers.max_pooling2d(x,pool_size=[2,2],strides=[2,2],padding='SAME')

print(max_pool)

max_pool=tf.layers.max_pooling2d(x,pool_size=[2,2],strides=[2,2],padding='SAME')

print(max_pool)

输出:

Tensor("max_pooling2d_12/MaxPool:0", shape=(10, 14, 14, 3), dtype=float32)

Tensor("max_pooling2d_13/MaxPool:0", shape=(10, 14, 14, 3), dtype=float32)

你可能感兴趣的:(深度学习,tensorflow)