Description:
Returns a 2D tensor by using input elements as the diagonal if the input is a vector (1D). Returns a 1D tensor consisting of the diagonal elements of the input matrix specified by
[object Object]if the input is a 2D tensor.
Each operator has calls. First, [object Object] is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then, [object Object] is called to perform computation.
[object Object][object Object]
Parameters
[object Object](aclTensor*, computation input): input tensor. The number of dimensions of[object Object]must not exceed 2. are supported. The can be ND. If the input is an empty tensor, the output type cannot be COMPLEX64.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, or COMPLEX64.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX64, or BFLOAT16.
[object Object](int64_t, computation input): diagonal input in the logical expression. The data type can be INT64.[object Object](aclTensor*, computation output): output tensor. are supported. The can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, or COMPLEX64.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX64, or BFLOAT16.
[object Object](uint64_t*, output): size of the workspace to be allocated on the device.[object Object](aclOpExecutor**, output): operator executor, containing the operator computation process.
Returns
Parameters
[object Object](void*, input): address of the workspace to be allocated on the device.[object Object](uint64_t, input): size of the workspace to be allocated on the device, which is obtained by calling the first-phase API[object Object].[object Object](aclOpExecutor*, input): operator executor, containing the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns
- Deterministic computation:
[object Object]defaults to a deterministic implementation.
The following example is for reference only. For details, see .