2

我正在尝试在 ArrayFire 中实现以下目标:

输入:

Indices: [  0,   0,   1,   1,   1,   2,   2]
Values : [1.0, 2.0, 3.0, 1.0, 2.0, 3.0, 5.0]

输出:

Result:  [1.0 + 2.0, 3.0 + 1.0 + 2.0, 3.0 + 5.0] = [3.0, 6.0, 8.0]

所以输出中的元素i是对应索引为 的所有输入值的总和i

TensorFlow 有一个 scatter_add 操作可用于执行此操作,但我在 ArrayFire 文档中找不到任何似乎符合要求的内容。ArrayFire scanByKey 函数达到了我需要的一半,并给出了累积扫描输出:

[1.0, 3.0, 3.0, 4.0, 6.0, 3.0, 8.0]

但是我仍然必须只提取每个索引的最大值(位置 1、4 和 6),以便为我提供下一步所需的数组,但我再次找不到执行此操作的函数。

如何使用 ArrayFire 实现这一目标?

4

0 回答 0