Operator function: Replaces NaN, positive infinity, and negative infinity in the input with the values specified by [object Object], [object Object], and [object Object], respectively.
[object Object]and[object Object]implement the same function in different ways. Select a proper operator based on your requirements.[object Object]: An output tensor object needs to be created to store the computation result.[object Object]: No output tensor object needs to be created, and the computation result is stored in the memory of the input tensor.
Each operator has calls. First,
[object Object]or[object Object]is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then,[object Object]or[object Object]is called to perform computation.[object Object][object Object][object Object][object Object]
Parameters:
[object Object](aclTensor*, computation input): input tensor. are supported. The can be ND. The data type can be FLOAT16, FLOAT32, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.[object Object](aclTensor*, computation output): output tensor. The shape is the same as that of[object Object]. The can be ND, and must be the same as that of[object Object]. The data type can be FLOAT16, FLOAT32, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.[object Object](float, computation input): input parameter, which replaces the NaN value of the tensor element. The data type can be FLOAT.[object Object](float, computation input): input parameter, which replaces the positive infinity value of the tensor element. The data type can be FLOAT.[object Object](float, computation input): input parameter, which replaces the negative infinity value of the tensor element. The data type can be FLOAT.[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:
Parameters:
[object Object](aclTensor *, computation input | computation output): input and output tensor. are supported. The supports ND. The data type can be FLOAT16, FLOAT32, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.[object Object](float, computation input): input parameter, which replaces the NaN value of the tensor element. The data type can be FLOAT.[object Object](float, computation input): input parameter, which replaces the positive infinity value of the tensor element. The data type can be FLOAT.[object Object](float, computation input): input parameter, which replaces the negative infinity value of the tensor element. The data type can be FLOAT.[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 the first-phase API aclnnInplaceNanToNumGetWorkspaceSize.[object Object](aclOpExecutor*, input): operator executor, containing the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns:
- Deterministic computing:
[object Object]defaults to a deterministic implementation.
The following example is for reference only. For details, see .
aclnnNanToNum sample code:
aclnnInplaceNanToNum sample code: