subtract

paddle.sparse. subtract ( x, y, name=None ) [源代码]

输入 x 与输入 y 逐元素相减,并将各个位置的输出元素保存到返回结果中。

输入 x 与输入 y 必须为相同形状且为相同稀疏压缩格式(同为 SparseCooTensor 或同为 SparseCsrTensor),如果同为 SparseCooTensorsparse_dim 也需要相同。

等式为:

\[out = x - y\]
  • \(x\):多维稀疏 Tensor。

  • \(y\):多维稀疏 Tensor。

参数

  • x (Tensor) - 输入的 Tensor,数据类型为 float32、float64、int32 或 int64。

  • y (Tensor) - 输入的 Tensor,数据类型为 float32、float64、int32 或 int64。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

多维稀疏 Tensor, 数据类型和压缩格式与 x 相同 。

代码示例

>>> import paddle

>>> paddle.device.set_device("cpu")

>>> x = paddle.to_tensor([[0, -1, 0, 2], [0, 0, -3, 0], [4, 5, 0, 0]], 'float32')
>>> y = paddle.to_tensor([[0, 0, 0, -2], [0, 2, -3, 0], [2, 3, 4, 8]], 'float32')
>>> sparse_x = x.to_sparse_csr()
>>> sparse_y = y.to_sparse_csr()
>>> sparse_z = paddle.sparse.subtract(sparse_x, sparse_y)
>>> print(sparse_z.to_dense())
Tensor(shape=[3, 4], dtype=float32, place=Place(cpu), stop_gradient=True,
       [[ 0., -1.,  0.,  4.],
        [ 0., -2.,  0.,  0.],
        [ 2.,  2., -4., -8.]])