mlx.core.array.at#
- property array.at#
用於在指定索引處套用更新。
備註
一般原地更新會對應到賦值。例如
x[idx] += y會對應為x[idx] = x[idx] + y。因此,對同一索引的多次賦值除了其中一次外都會被忽略。使用x.at[idx].add(y)會正確地將所有更新套用到所有索引。array.at 語法
原地語法
x = x.at[idx].add(y)x[idx] += yx = x.at[idx].subtract(y)x[idx] -= yx = x.at[idx].multiply(y)x[idx] *= yx = x.at[idx].divide(y)x[idx] /= yx = x.at[idx].maximum(y)x[idx] = mx.maximum(x[idx], y)x = x.at[idx].minimum(y)x[idx] = mx.minimum(x[idx], y)範例
>>> a = mx.array([0, 0]) >>> idx = mx.array([0, 1, 0, 1]) >>> a[idx] += 1 >>> a array([1, 1], dtype=int32) >>> >>> a = mx.array([0, 0]) >>> a.at[idx].add(1) array([2, 2], dtype=int32)