cupy.gradient#
- cupy.gradient(f, *varargs, axis=None, edge_order=1)[source]#
返回 N 维数组的梯度。
梯度使用内点处的二阶中心差分以及边界处的一阶或二阶单边(前向或后向)差分计算。因此,返回的梯度与输入数组具有相同的形状。
- 参数:
f (cupy.ndarray) – 一个包含标量函数样本的 N 维数组。
varargs (list of scalar or array, optional) –
f 值之间的间距。所有维度默认为单位间距。可以使用以下方式指定间距
单个标量,用于指定所有维度的采样距离。
N 个标量,用于指定每个维度的常数采样距离。即 dx, dy, dz, …
N 个数组,用于指定 F 沿每个维度的值的坐标。数组的长度必须与对应维度的大小匹配
N 个标量/数组的任意组合,其含义如 2 和 3 所述。
如果指定了 axis,varargs 的数量必须等于轴的数量。默认值: 1。
edge_order ({1, 2}, optional) – 梯度使用边界处的 N 阶精确差分计算。默认值: 1。
axis (None or int or tuple of ints, optional) – 梯度仅沿给定的轴或多个轴计算。默认值 (axis = None) 是计算输入数组所有轴的梯度。axis 可以是负数,在这种情况下它从最后一个轴到第一个轴计数。
- 返回值:
一组 ndarrays(如果只有一个维度,则为单个 ndarray),对应于 f 相对于每个维度的导数。每个导数与 f 具有相同的形状。
- 返回类型:
gradient (cupy.ndarray or list of cupy.ndarray)
另请参阅