mindspore.mint.diff
- mindspore.mint.diff(input, n=1, dim=- 1, prepend=None, append=None)[源代码]
计算沿给定维度的第n个正向差。
第一个正向差通过 \(out[i] = input[i + 1] - input[i]\) 计算得到,对于第n个正相差,可以通过递归使用 torch.diff() 得到。
警告
这是一个实验性API,后续可能修改或删除。
- 参数:
input (Tensor) - 用于计算正向差的张量。
n (int,可选) - 递归计算正向差的次数。默认值为
1
。dim (int,可选) - 指定用于计算正相差的维度,默认为最后一个维度。默认值为
-1
。prepend (Tensor,可选) - 在计算正向差前,在 input 的 dim 维度上添加相应的值。 prepend 的维度需要与 input 保持一致,并且除了指定 dim,其余维度上, prepend 的大小需要与 input 保持一致。默认值为
None
。append (Tensor,可选) - 在计算正向差前,在 input 的 dim 维度上追加相应的值。 append 的维度需要与 input 保持一致,并且除了指定 dim,其余维度上, append 的大小需要与 input 保持一致。默认值为
None
。
- 返回:
Tensor。计算得到的第n个正向差。
- 异常:
TypeError - 如果 input 不是Tensor。
TypeError - 如果 n 不是标量或标量Tensor。
TypeError - 如果 dim 不是标量或标量Tensor。
TypeError - 如果 input 的类型为complex64、complex128、float64、int16。
- 支持平台:
Ascend
样例:
>>> from mindspore import Tensor, mint >>> x = Tensor([1, 3, -1, 0, 4]) >>> out = mint.diff(x) >>> print(out.asnumpy()) [ 2 -4 1 4]