mindspore.ops.addmv
- mindspore.ops.addmv(input, mat, vec, *, beta=1, alpha=1)[源代码]
- mat 和 vec 相乘,且将输入向量 input 加到最终结果中。 - 如果 mat 是一个大小为 \((N, M)\) Tensor, vec 一个大小为 \(M\) 的一维Tensor,那么 input 必须是可广播的,且 带有一个大小为 \(N\) 的一维Tensor。这种情况下 out 是一个大小为 \(N\) 的一维Tensor。 - 可选值 bata 和 alpha 分别是 mat 和 vec 矩阵向量的乘积和附加Tensor input 的扩展因子。如果 beta 为0,那么 input 将被忽略。 \[output = β input + α (mat @ vec)\]- 参数:
- input (Tensor) - 被加的向量,Tensor的shape大小为 \((N,)\)。 
- mat (Tensor) - 第一个需要相乘的Tensor,shape大小为 \((N, M)\) 。 
- vec (Tensor) - 第二个需要相乘的Tensor,shape大小为 \((M,)\) 。 
 
- 关键字参数:
- beta (scalar[int, float, bool], 可选) - input (β)的乘数。 beta 必须是int或float或bool类型,默认值: - 1。
- alpha (scalar[int, float, bool], 可选) - mat @ vec (α)的乘数。 alpha 必须是int或float或bool类型,默认值: - 1。
 
- 返回:
- Tensor,shape大小为 \((N,)\) ,数据类型与 input 相同。 
- 异常:
- TypeError - mat 、 vec 、 input 不是Tensor。 
- TypeError - mat 、 vec 的数据类型不一致。 
- ValueError - 如果 mat 不是一个二维Tensor。 
- ValueError - 如果 vec 不是一个一维Tensor。 
 
- 支持平台:
- Ascend- GPU- CPU
 - 样例: - >>> import numpy as np >>> from mindspore import Tensor, ops >>> input = Tensor(np.array([2., 3.]).astype(np.float32)) >>> mat = Tensor(np.array([[2., 5., 3.], [4., 2., 2.]]).astype(np.float32)) >>> vec = Tensor(np.array([3., 2., 4.]).astype(np.float32)) >>> output = ops.addmv(input, mat, vec) >>> print(output) [30. 27.]