cupyx.scatter_max#
- cupyx.scatter_max(a, slices, value)[源代码][源代码]#
将由索引指定的元素的最大值存储到一个数组中。
它将
value数组中由slices索引的最大值存储到a中。如果所有索引都指向不同的位置,scatter_max()的操作等同于a[slices] = cupy.maximum(a[slices], value)。如果多个元素指向同一位置,scatter_max()将这些值的最大值存储到a的给定索引中,同时也会考虑a的初始元素。请注意,就像数组索引一样,负索引被解释为从数组末尾开始计数。
另请注意,
scatter_max()的行为与numpy.maximum.at()完全相同。示例
>>> import numpy >>> import cupy >>> a = cupy.zeros((6,), dtype=numpy.float32) >>> i = cupy.array([1, 0, 1, 2]) >>> v = cupy.array([1., 2., 3., -1.]) >>> cupyx.scatter_max(a, i, v); >>> a array([2., 3., 0., 0., 0., 0.], dtype=float32)
- 参数:
a (ndarray) – 一个用于存储结果的数组。
slices – 它是整数、切片、省略号、numpy.newaxis、类整数数组、类布尔数组或它们的元组。它适用于用于
cupy.ndarray.__getitem__()和cupy.ndarray.__setitem__()的切片。v (array-like) – 用于引用的数组。