mindspore.ops.csr_add
- mindspore.ops.csr_add(a, b, alpha, beta)[源代码]
- 计算两个输入CSRTensor的线性组合。 \[out = alpha * a + beta * b\]- 说明 - 用户需要确保输入的CSRTensor的合法性。否则,算子将返回错误结果。 例如,当同一个位置有多个元素时,算子可能会返回错误结果或执行失败。 - 参数:
- a (CSRTensor) - 稀疏的CSRTensor。 
- b (CSRTensor) - 稀疏的CSRTensor。 
- alpha (Tensor) - 稠密张量,shape必须可以广播到 a。 
- beta (Tensor) - 稠密张量,shape必须可以广播到 b。 
 
- 返回:
- 返回一个包含以下数据的CSRTensor: - indptr - 指示每行中非零值的起始点和结束点。 
- indices - 输入中所有非零值的列位置。 
- values - 非零值。 
- shape - CSRTensor的形状。 
 
- 支持平台:
- GPU- CPU
 - 样例: - >>> import mindspore.common.dtype as mstype >>> from mindspore import Tensor, CSRTensor >>> from mindspore import ops >>> a_indptr = Tensor([0, 1, 2], dtype=mstype.int32) >>> a_indices = Tensor([0, 1], dtype=mstype.int32) >>> a_values = Tensor([1, 2], dtype=mstype.float32) >>> shape = (2, 6) >>> b_indptr = Tensor([0, 1, 2], dtype=mstype.int32) >>> b_indices = Tensor([0, 1], dtype=mstype.int32) >>> b_values = Tensor([1, 2], dtype=mstype.float32) >>> alpha = Tensor(1, mstype.float32) >>> beta = Tensor(1, mstype.float32) >>> csra = CSRTensor(a_indptr, a_indices, a_values, shape) >>> csrb = CSRTensor(b_indptr, b_indices, b_values, shape) >>> out = ops.csr_add(csra, csrb, alpha, beta) >>> print(out) CSRTensor(shape=[2, 6], dtype=Float32, indptr=Tensor(shape=[3], dtype=Int32, value=[0 1 2]), indices=Tensor(shape=[2], dtype=Int32, value=[0 1]), values=Tensor(shape=[2], dtype=Float32, value=[ 2.00000000e+00 4.00000000e+00]))