阅读(8.6k) 书签 (0)

TensorFlow函数教程:tf.nn.max_pool_with_argmax

2019-01-31 13:50 更新

tf.nn.max_pool_with_argmax函数

tf.nn.max_pool_with_argmax(
    input,
    ksize,
    strides,
    padding,
    Targmax=tf.int64,
    name=None
)

请参阅指南:神经网络>池操作

对输入执行最大池化并输出最大值和指数.

argmax中的指数是扁平,因此位置[b, y, x, c]处的最大值变为扁平指数((b * height + y) * width + x) * channels + c.

在扁平前返回的指数总是在[0, height) x [0, width),即使涉及填充并且数学上正确的答案在外部(要么是负数,要么太大).这是一个bug,但是要以一种安全的向后兼容的方式修复它是很困难的,特别是由于扁平化.

参数:

  • input:一个Tensor.必须是下列类型之一:float32,float64,int32,uint8,int16,int8,int64,bfloat16,uint16,half,uint32,uint64.4-D的具有shape [batch, height, width, channels].输入到池中.
  • ksize:ints列表,长度>= 4.输入张量的每个维度的窗口大小.
  • strides:ints列表,长度>= 4.输入张量的每个维度的滑动窗口的步幅.
  • padding:string,可以是:"SAME", "VALID".要使用的填充算法的类型.
  • Targmax:可选的tf.DType,可以是:tf.int32, tf.int64.默认为tf.int64.
  • name:操作的名称(可选).

返回:

Tensor对象元组(output,argmax).

  • output:一个Tensor,与input有相同的类型.
  • argmax:一个Tensor,类型为Targmax.