[object Object]

[object Object][object Object]undefined
[object Object]
  • Description: Performs backpropagation of the MaxPool3d inverse operation (), writing element values of gradOutput in out based on indices.
  • Formula:
    • When the input is four-dimensional, the dimensions are (N, D, H, W):
    out[N][i]=gradOutput[N][indices[N][i]]out[N][i] = gradOutput[N][indices[N][i]]
    • When the input is five-dimensional, the dimensions are (N, C, D, H, W):
    out[N][C][i]=gradOutput[N][C][indices[N][C][i]]out[N][C][i] = gradOutput[N][C][indices[N][C][i]]

    out, gradOutput, and indices are obtained by reshaping the axis combined from the last two axes, that is, i ∈ [0, D H W).

[object Object]

Each operator has calls. First, aclnnMaxUnpool3dBackwardGetWorkspaceSize is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then, aclnnMaxUnpool3dBackward is called to perform computation.

  • [object Object]
  • [object Object]
[object Object]
  • Parameters

    • gradOutput (aclTensor*, compute input): [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 and out. The shape can be four-dimensional (N, outputSize[0], outputSize[1], outputSize[2]) or five-dimensional (N, C, outputSize[0], outputSize[1], outputSize[2]). are supported. The can be ND or NCDHW.
    • self (aclTensor*, compute input): 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 gradOutput and out. The shape can be four-dimensional (N, D, H, W) or five-dimensional (N, C, D, H, W), with the same dimensions as gradOutput. The shape must be the same as that of indices and out. are supported. The can be ND or NCDHW.
    • indices (aclTensor*, compute input): indexes of the input gradOutput elements in the output result, [object Object] in the formula, aclTensor on the device. The data type can be INT64, and the shape must be the same as that of self. are supported. The can be ND or NCDHW.
    • outputSize (aclIntArray*, compute input): size of the output result in the D, H, and W dimensions, aclIntArray on the host. The data type can be INT64, and the size is 3.
    • stride (aclIntArray*, compute input): stride of the maximum pooling window in the D, H, and W dimensions, aclIntArray on the host. The data type can be INT64, and the size is 3.
    • padding (aclIntArray*, compute input): padding value of the maximum pooling window in the D, H, and W dimensions, aclIntArray on the host. The data type can be INT64, and the size is 3.
    • out (aclTensor*, compute output): [object Object] in the formula, aclTensor on the device. The data type can be FLOAT, FLOAT16, INT16, INT32, INT64, INT8, UINT8, or DOUBLE. The data type must be the same as that of gradOutput and self, and the shape must be the same as that of self and indices. The can be ND or NCDHW.
    • workspaceSize (uint64_t*, output): size of the workspace to be allocated on the device.
    • executor (aclOpExecutor**, output): operator executor, containing the operator computation process.
  • Returns

    aclnnStatus: status code. For details, see .

[object Object]
[object Object]
  • 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 aclnnMaxUnpool3dBackwardGetWorkspaceSize.
    • executor (aclOpExecutor*, input): operator executor, containing the operator computation process.
    • stream (aclrtStream, input): stream for executing the task.
  • Returns

    aclnnStatus: status code. For details, see .

[object Object]
  • Deterministic compute:
    • aclnnMaxUnpool3dBackward defaults to a deterministic implementation.
[object Object]

The following example is for reference only. For details, see .

[object Object]