Description: Computes the backward pass of a temporal convolution.
Formula:
Assume the forward input of Conv_tbc has shape , the output gradient has shape , the convolution kernel has shape , and the bias has shape .
The backward pass computes gradients with respect to the forward-pass tensors: the input tensor (corresponding to input in the function prototype), the convolution kernel weights (corresponding to weight in the function prototype), and the bias .
Gradient with respect to , (corresponding to the gradInput parameter in the function prototype):
Where is the loss function and is the gradient of the loss with respect to the output tensor (corresponding to the gradOutput parameter in the function prototype).
Gradient with respect to , (corresponding to the gradWeight parameter in the function prototype):
Gradient with respect to , (corresponding to the gradBias parameter in the function prototype):
Each operator has calls. First, aclnnConvTbcBackwardGetWorkspaceSize is called to obtain the workspace size required for computation and the executor that contains the operator computation flow. Then, aclnnConvTbcBackward is called to perform computation.
Parameters
[object Object]- Formula 1:
- Formula 2:
- Formula 3:
- Formula 4:
- Formula 5:
- Formula 6:
- Formula 7:
Returns
aclnnStatus: status code. For details, see .
The first-phase API implements input parameter verification. The following errors may be thrown.
[object Object]
Deterministic computation:
- aclnnConvTbcBackward defaults to a non-deterministic implementation. You can call aclrtCtxSetSysParamOpt to enable deterministic computation.
Due to hardware resource limitations, the operator may fail for certain parameter combinations. Analyze the error logs to diagnose the issue. If the error persists, click to obtain technical support.
The following example is for reference only. For details, see .