mindspore/docs/api/api_python/ops/mindspore.ops.MatrixDiagV3.rst

33 lines
2.7 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.ops.MatrixDiagV3
==========================
.. py:class:: mindspore.ops.MatrixDiagV3(align="RIGHT_LEFT")
构造以输入Tensor为对角线的矩阵。
.. warning::
这是一个实验性API后续可能修改或删除。
更多参考详见 :func:`mindspore.ops.matrix_diag`
参数:
- **align** (str, 可选) - 可选字符串,指定超对角线和次对角线的对齐方式。
可选值: ``"RIGHT_LEFT"````"LEFT_RIGHT"````"LEFT_LEFT"````"RIGHT_RIGHT"``
默认值: ``"RIGHT_LEFT"``
- ``"RIGHT_LEFT"`` 表示将超对角线与右侧对齐(左侧填充行),将次对角线与左侧对齐(右侧填充行)。
- ``"LEFT_RIGHT"`` 表示将超对角线与左侧对齐(右侧填充行),将次对角线与右侧对齐(左侧填充行)。
- ``"LEFT_LEFT"`` 表示将超对角线和次对角线均与左侧对齐(右侧填充行)。
- ``"RIGHT_RIGHT"`` 表示将超对角线和次对角线均与右侧对齐(左侧填充行)。
输入:
- **x** (Tensor) - 对角线Tensor。
- **k** (Union[int, Tensor], 可选) - 对角线偏移。int32类型的Tensor。正值表示超对角线0表示主对角线负值表示次对角线。k可以是单个整数对于单个对角线或一对整数分别指定矩阵带的上界和下界且k[0]不得大于k[1]。该值必须在(-num_rows,num_cols)范围内。默认值: ``0``
- **num_rows** (Union[int, Tensor], 可选) - 输出Tensor的行数。int32类型的单值Tensor若该值为-1则表示输出Tensor的最内层矩阵是一个方阵实际行数将由其他输入推导:math:`num\_rows = x.shape[-1] - min(k[1], 0)` 否则,该值必须大于或等于 :math:`x.shape[-1] - min(k[1], 0)` 。默认值: ``-1``
- **num_cols** (Union[int, Tensor], 可选) - 输出Tensor的列数。int32类型的单值Tensor若该值为-1则表示输出Tensor的最内层矩阵是一个方阵实际列数将由其他输入推导:math:`num\_cols = x.shape[-1] + max(k[0], 0)` 否则,该值必须大于或等于 :math:`x.shape[-1] - min(k[1], 0)` 。默认值: ``-1``
- **padding_value** (Union[int, float, Tensor], 可选) - 填充对角线带外区域的数值,是一个数据类型与 `x` 相同的单值Tensor。默认值 ``0``
输出:
Tensor`x` 的数据类型相同。
`x` 有r维 :math:`(I, J, ..., M, N)` 当只给出一条对角线k是整数或k[0]==k[1]输出Tensor的维度是r + 1shape为 :math:`(I, J, ..., M, num\_rows, num\_cols)` 。否则输出Tensor的维度是rshape为 :math:`(I, J, ..., num\_rows, num\_cols)`