// // This confidential and proprietary software may be used only as // authorised by a licensing agreement from ARM Limited // (C) COPYRIGHT 2020 ARM Limited // ALL RIGHTS RESERVED // The entire notice above must be reproduced on all authorised // copies and copies may only be made to the extent permitted // by a licensing agreement from ARM Limited. === Scatter/Gather Operators ==== GATHER Generate a tensor for which each element in the output is a subtensor of the values tensor based on the indices. N is the number of batches, W the number of indices in each batch, K the range of each index and C the number data channels for each index. *Arguments:* |=== |Argument|Type|Name|Shape|Description |Input|value_t*|values|[N,K,C]|3D value tensor |Input|index_t*|indices|[N,W]|2D index tensor |Output|value_t*|output|[N,W,C]|3D output tensor |=== *Quantization Parameters:* None *Operation Function:* [source,c] ---- for_each(0<=n(indices, [N,W], [n,w]) assert(0<=k && k(values, [N,K,C], [n, k, c]) tensor_write(output, [N,W,C], [n,w,c]) } ---- *Supported Data Types:* |=== |Profile|Mode|index_t|value_t |Any|signed 8|int32|aint8 |Any|signed 16|int32|int16 |Any|signed 32|int32|int32 |MI,MT|float|int32|float |===