Now the max pooling function in tensorflow is
tf.nn.max_pool(value, ksize, strides, padding, name=None) Returns: A Tensor with type tf.float32. The max pooled output tensor.
I would like to have an extend version of max_pool, like
tf.nn.top_k_pool(value, ksize, strides, padding, k=1, name=None) Performs the top k pooling on the input. Args: value: A 4-D Tensor with shape [batch, height, width, channels] and type tf.float32. ksize: A list of ints that has length >= 4. The size of the window for each dimension of the input tensor. strides: A list of ints that has length >= 4. The stride of the sliding window for each dimension of the input tensor. padding: A string, either 'VALID' or 'SAME'. The padding algorithm. k: 0-D int32 Tensor. Number of top elements to look in each pool. name: Optional name for the operation. Returns: A Tensor with type tf.float32. The max pooled output tensor. There will be an additional dimension saving the top k values.
I know that I can expend the tensorflow operation following https://www.tensorflow.org/versions/r0.7/how_tos/adding_an_op/index.html
I would like to know if there is an easier way to achieve that.