Returns min/max k values and their indices of the input operand in an approximate manner.
See https://arxiv.org/abs/2206.14286 for the algorithm details. This op is only optimized on TPU currently.
Nested Classes
class | ApproxTopK.Options | Optional attributes for ApproxTopK
|
Public Methods
static ApproxTopK.Options |
aggregateToTopk(Boolean aggregateToTopk)
|
static <T extends Number> ApproxTopK<T> |
create(Scope scope, Operand<T> input, Long k, Options... options)
Factory method to create a class wrapping a new ApproxTopK operation.
|
Output<Integer> |
indices()
The indices of `values` along the `reduction_dimension` of the `input` operand.
|
static ApproxTopK.Options |
isMaxK(Boolean isMaxK)
|
static ApproxTopK.Options |
recallTarget(Float recallTarget)
|
static ApproxTopK.Options |
reductionDimension(Long reductionDimension)
|
static ApproxTopK.Options |
reductionInputSizeOverride(Long reductionInputSizeOverride)
|
Output<T> |
values()
The min/max k values along the `reduction_dimension` of the `input` operand.
|
Inherited Methods
Public Methods
public static ApproxTopK.Options aggregateToTopk (Boolean aggregateToTopk)
Parameters
aggregateToTopk | When true, aggregates approximate results to top-k. When false, returns the approximate results. The number of the approximate results is implementation defined and is greater equals to the specified `k`. |
---|
public static ApproxTopK<T> create (Scope scope, Operand<T> input, Long k, Options... options)
Factory method to create a class wrapping a new ApproxTopK operation.
Parameters
scope | current scope |
---|---|
input | Array to search. Must be at least 1-D of the floating type |
k | Specifies the number of min/max-k. |
options | carries optional attributes values |
Returns
- a new instance of ApproxTopK
public Output<Integer> indices ()
The indices of `values` along the `reduction_dimension` of the `input` operand.
public static ApproxTopK.Options isMaxK (Boolean isMaxK)
Parameters
isMaxK | When true, computes max-k; otherwise computes min-k. |
---|
public static ApproxTopK.Options recallTarget (Float recallTarget)
Parameters
recallTarget | Recall target for the approximation. Range in (0,1] |
---|
public static ApproxTopK.Options reductionDimension (Long reductionDimension)
Parameters
reductionDimension | Integer dimension along which to search. Default: -1. |
---|
public static ApproxTopK.Options reductionInputSizeOverride (Long reductionInputSizeOverride)
Parameters
reductionInputSizeOverride | When set to a positive value, it overrides the size determined by `input[reduction_dim]` for evaluating the recall. This option is useful when the given `input` is only a subset of the overall computation in SPMD or distributed pipelines, where the true input size cannot be deferred by the `input` shape. |
---|
public Output<T> values ()
The min/max k values along the `reduction_dimension` of the `input` operand. The dimension are the same as the `input` operand except for the `reduction_dimension`: when `aggregate_to_topk` is true, the reduction dimension is `k`; otherwise, it is greater equals to `k` where the size is implementation-defined.