topk¶
- paddle. topk ( x, k, axis=None, largest=True, sorted=True, name=None ) [source]
- 
         Return values and indices of the k largest or smallest at the optional axis. If the input is a 1-D Tensor, finds the k largest or smallest values and indices. If the input is a Tensor with higher rank, this operator computes the top k values and indices along the axis.- Parameters
- 
           - x (Tensor) – Tensor, an input N-D Tensor with type float32, float64, int32, int64. 
- k (int, Tensor) – The number of top elements to look for along the axis. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is x.ndim. when axis < 0, it works the same way as axis + R. Default is -1. 
- largest (bool, optional) – largest is a flag, if set to true, algorithm will sort by descending order, otherwise sort by ascending order. Default is True. 
- sorted (bool, optional) – controls whether to return the elements in sorted order, default value is True. In gpu device, it always return the sorted value. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
           tuple(Tensor), return the values and indices. The value data type is the same as the input x. The indices data type is int64. 
 Examples import paddle data_1 = paddle.to_tensor([1, 4, 5, 7]) value_1, indices_1 = paddle.topk(data_1, k=1) print(value_1) # [7] print(indices_1) # [3] data_2 = paddle.to_tensor([[1, 4, 5, 7], [2, 6, 2, 5]]) value_2, indices_2 = paddle.topk(data_2, k=1) print(value_2) # [[7], [6]] print(indices_2) # [[3], [1]] value_3, indices_3 = paddle.topk(data_2, k=1, axis=-1) print(value_3) # [[7], [6]] print(indices_3) # [[3], [1]] value_4, indices_4 = paddle.topk(data_2, k=1, axis=0) print(value_4) # [[2, 6, 5, 7]] print(indices_4) # [[1, 1, 0, 0]] 
