cupy.mask_indices#

cupy.mask_indices(n, mask_func, k=0)[source]#

给定一个掩码函数,返回访问 (n, n) 数组的索引。

假设 mask_func 是一个函数,对于一个大小为 (n, n) 的方阵 a 以及可能的偏移量参数 k,当调用 mask_func(a, k) 时,会返回一个在某些位置为零的新数组(例如函数 triu()tril() 正是如此)。那么该函数将返回非零值所在的索引。

参数:
  • n (int) – 返回的索引对于访问形状为 (n, n) 的数组有效。

  • mask_func (callable) – 一个函数,其调用签名与 triu(), tril() 类似。即,mask_func(x, k) 返回一个布尔数组,其形状与 x 相同。k 是该函数的可选参数。

  • k (scalar) – 传递给 mask_func 的可选参数。像 triu(), tril() 这样的函数接受一个第二个参数,该参数被解释为偏移量。

返回值:

对应于 mask_func(np.ones((n, n)), k) 为 True 的位置的 n 个索引数组。

返回类型:

数组元组

警告

此函数可能会同步设备。