function topk_(x, k = 1, sorted = true) {
    const $x = (0, _tensorUtilEnv.convertToTensor)(x, "x", "topk");
    if ($x.rank === 0) throw new Error("topk() expects the input to be of rank 1 or higher");
    const lastDim = $x.shape[$x.shape.length - 1];
    if (k < 0) throw new Error(`'k' passed to topk() must be >= 0 but got ${k}`);
    if (k > lastDim) throw new Error(`'k' passed to topk() must be <= the last dimension (${lastDim}) ` + `but got ${k}`);
    const inputs = {
        x: $x
    };
    const attrs = {
        k,
        sorted
    };
    const [values, indices] = (0, _engine.ENGINE).runKernel((0, _kernelNames.TopK), inputs, attrs);
    return {
        values,
        indices
    };
}
Finds the values and indices of the `k` largest entries along the last
dimension.

If the input is a vector (rank=1), finds the k largest entries in the vector
and outputs their values and indices as vectors. Thus values[j] is the j-th
largest entry in input, and its index is indices[j].
For higher rank inputs, computes the top k entries along the last dimension.

If two elements are equal, the lower-index element appears first.

```js
const a = tf.tensor2d([[1, 5], [4, 3]]);
const {values, indices} = tf.topk(a);
values.print();
indices.print();
```
@param x 1-D or higher `tf.Tensor` with last dimension being at least `k`.
@param k Number of top elements to look for along the last dimension.
@param sorted If true, the resulting `k` elements will be sorted by the
    values in descending order.

@doc {heading: 'Operations', subheading: 'Evaluation'}