topk

    • 例1:
    • 参数:
      • input (Variable) - 输入的Tensor,支持的数据类型: float32,float64。
      • k (int|Variable) - 指定在输入Tensor最后一维中寻找最大前多少项。
      • name (str, 可选) - 具体用法请参见 ,一般无需设置,默认值为None。
      • : 输入Tensor最后维切片的最大前k项。数据类型同输入Tensor一致。Tensor维度等于 。
      • : 输入Tensor最后维切片最大前k项值的索引,数据类型为int64,维度同values的维度。
    • 抛出异常:
      • : 如果k<1或者k大于输入的最后维。

    代码示例

    1. import paddle.fluid as fluid
    2. import paddle.fluid.layers as layers
    3. top5_values, top5_indices = layers.topk(input, k=5) #top5_values.shape=[13, 5],top5_indices.shape=[13, 5]
    4.  
    5. # 1D Tensor
    6. input1 = layers.data(name="input1", shape=[13], dtype='float32')
    7. top5_values, top5_indices = layers.topk(input1, k=5) #top5_values.shape=[5],top5_indices.shape=[5]
    8.  
    9. # k=Variable
    10. input2 = layers.data(name="input2", shape=[13, 11], dtype='float32')
    11. vk_values, vk_indices = layers.topk(input2, k=vk) #vk_values.shape=[13, k],vk_indices.shape=[13, k]