mindspore.ops.diff ================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.3.q1/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/r2.3.q1/docs/api/api_python/ops/mindspore.ops.func_diff.rst :alt: 查看源文件 .. py:function:: mindspore.ops.diff(x, n=1, axis=-1, prepend=None, append=None) 沿着给定维度计算输入Tensor `x` 的n阶前向差分。 第一阶差分沿着给定 `axis` 由如下公式计算::math:`out[i] = x[i+1] - x[i]` ,更高阶差分通过将上一阶计算结果作为输入迭代调用 `diff` 计算实现。 .. note:: 不支持空Tensor, 如果传入了空Tensor,会出现ValueError。空Tensor指的是,Tensor的任意一维为零。比如shape为 :math:`(0,)` , :math:`(1, 2, 0, 4)` 的Tensor都为空Tensor。 参数: - **x** (Tensor) - 输入Tensor。x元素的数据类型不支持uint16、uint32 或 uint64。 - **n** (int,可选) - 递归计算差分的阶数,目前只支持1。默认值: ``1`` 。 - **axis** (int,可选) - 计算差分的维度,默认是最后一维。默认值: ``-1`` 。 - **prepend** (Tensor,可选) - 在计算差分之前,沿 axis 添加到 `x` 之前的值。它们的维度必须与输入的维度相同,并且它们的shape必须与输入的shape匹配,但 axis 除外。默认值: ``None`` 。 - **append** (Tensor,可选) - 在计算差分之前,沿 axis 添加到 `x` 之后的值。它们的维度必须与输入的维度相同,并且它们的shape必须与输入的shape匹配,但 axis 除外。默认值: ``None`` 。 返回: Tensor,输入Tensor差分后的结果。输出的shape除了第 `axis` 维上尺寸缩小 `n` 以外,与 `x` 一致。输出的类型与 `x` 一致。 异常: - **TypeError** - 如果 `x` 不是Tensor。 - **TypeError** - 如果 `x` 的元素的数据类型是uint16、uint32 或 uint64。 - **ValueError** - 如果 `x` 是空Tensor。 - **ValueError** - 如果 `x` 是的维度小于1。 - **RuntimeError** - 如果 `n` 不是1。