Description: Performs the three-dimensional inverse operation of . outputSize determines the size of outRef along the D, H, and W axes, fills elements of self in outRef based on indices, and sets other positions to 0.
Formula:
When the input is four-dimensional, the dimensions are N, D, H, and W, respectively. N indicates the batch size, H indicates the feature map height, W indicates the feature map width, and D indicates the feature map depth.
When the input is five-dimensional, the dimensions are N, C, D, H, and W, respectively. C indicates the number of feature map channels.
outRef, indices, and self are obtained by reshaping the axis combined from the last two axes, that is, i ∈ [0, D * H * W).
Each operator has calls. First, aclnnMaxUnpool3dGetWorkspaceSize is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then, aclnnMaxUnpool3d is called to perform computation.
[object Object][object Object]
Parameters:
- self (aclTensor*, compute input): target tensor to be converted,
[object Object]in the formula, aclTensor on the device. The data type can be FLOAT, FLOAT16, INT16, INT32, INT64, INT8, UINT8, or DOUBLE, and is the same as that of outRef. The shape is the same as that of indices. are supported. The can be ND. The tensor can be four-dimensional (N, D, H, W) or five-dimensional (N, C, D, H, W). - indices (aclTensor*, compute input): indexes of the input self elements in the output result,
[object Object]in the formula, aclTensor on the device. The data type can be INT64 or INT32, and the shape must be the same as that of self. are supported. The can be ND. The tensor can be four-dimensional (N, D, H, W) or five-dimensional (N, C, D, H, W). - outputSize (aclIntArray*, compute input): aclIntArray on the host. The size is 3. The product of three elements must be greater than or equal to the product of the sizes of self in the D, H, and W dimensions. This parameter indicates the spatial size of output in the D, H, and W dimensions.
- stride (aclIntArray*, compute input): reserved. This parameter does not participate in computation in the current version. It is an aclIntArray on the host, with the size of 3 and the value greater than 0. This parameter indicates the step size of the maximum pooling window in the D, H, and W dimensions.
- padding (aclIntArray*, compute input): reserved. This parameter does not participate in computation in the current version. It is an aclIntArray on the host, with the size of 3. This parameter indicates the padding value of the maximum pooling window in the D, H, and W dimensions.
- outRef (aclTensor*, compute output): output
[object Object]in the formula, aclTensor on the device. The data type can be FLOAT, FLOAT16, INT16, INT32, INT64, INT8, UINT8, or DOUBLE, and must be the same as that of self. are supported. The can be ND. The tensor can be four-dimensional (N, D, H, W) or five-dimensional (N, C, D, H, W). - workspaceSize (uint64_t*, output): size of the workspace to be allocated on the device.
- executor (aclOpExecutor**, output): operator executor, containing the operator computation process.
- self (aclTensor*, compute input): target tensor to be converted,
Returns:
Parameters:
- workspace (void*, input): address of the workspace to be allocated on the device.
- workspaceSize (uint64_t, input): size of the workspace to be allocated on the device, which is obtained by the first-phase API aclnnMaxUnpool3dGetWorkspaceSize.
- executor (aclOpExecutor*, input): operator executor, containing the operator computation process.
- stream (aclrtStream, input): stream for executing the task.
Returns:
- Deterministic compute:
- aclnnMaxUnpool3d defaults to a deterministic implementation.
The following example is for reference only. For details, see .