Svd
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | × |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
接口功能:计算一个或多个矩阵的奇异值分解。
当输入张量的维度大于2时,会将高维张量视为一批矩阵进行处理。对于形状为 (..., M, N) 的输入张量,将倒数第二维之前的维度 (...) 视为批处理维度,对每个(M, N) 矩阵独立进行奇异值分解计算。
-
计算公式:
input=U×diag(sigma)×VT\mathbf{input} = \mathbf{U} \times \mathrm{diag}(\boldsymbol{sigma}) \times \mathbf{V}^T
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| input | 输入 | 需要进行奇异值分解的张量,对应公式中的input。 不支持空Tensor。shape维度至少为2。 |
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 | ND |
| sigma | 输出 | 输出张量,对应公式中的sigma。 shape需要根据input的shape及fullMatrices参数进行推导。数据类型需要和input保持一致。 |
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 | ND |
| U | 输出 | 输出张量,对应公式中的U。 shape需要根据input的shape及fullMatrices参数进行推导。数据类型需要和input保持一致。 |
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 | ND |
| V | 输出 | 输出张量,对应公式中的V。 shape需要根据input的shape及fullMatrices参数进行推导。数据类型需要和input保持一致。 |
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 | ND |
| compute_uv | 属性 | 可选属性,默认true。表示是否计算输出张量u和v。当设为true时,输出张量sigma、u、v均会被计算。当设为false时,只计算sigma。 | BOOL | true/false |
| full_matrices | 属性 | 可选属性,表示是否完整计算输出张量u和v,默认false | BOOL | true/false |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_svd | 通过aclnnScd接口方式调用Svd算子。 |