divide¶
输入 x
与输入 y
逐元素相除,并将各个位置的输出元素保存到返回结果中。
输入 x
与输入 y
必须为相同形状且为相同稀疏压缩格式(同为 SparseCooTensor 或同为 SparseCsrTensor),如果同为 SparseCooTensor 则 sparse_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
相同,如果是整数相除则返回数据类型为 float32。
代码示例¶
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.divide(sparse_x, sparse_y)
print(sparse_z.to_dense())
# [[ nan , -inf. , nan , -1. ],
# [ nan , 0. , 1. , nan ],
# [ 2. , 1.66666663, 0. , 0. ]]