[object Object]

[object Object][object Object]undefined
[object Object]
  • API description: Performs backpropagation of . If the shape of the input tensor is (N, C, H, W), then the shape of the output tensor is (N, C, inputSize[2], inputSize[3]).

  • Formula: For a two-dimensional interpolation point (N,C,h,w)(N, C, h, w), the interpolation gradInput(N,C,h,w)gradInput(N, C, h, w) may be represented as:

    gradInput(N,C,h,w)=i=03j=03W(i,j)f(hi,wj){gradInput(N, C, h, w)}=\sum_{i=0}^{3}\sum_{j=0}^{3}{W(i, j)}*{f(h_i, w_j)} scaleH={(inputSize[2]1)/(outputSize[0]1)alignCorners=true1/scalesHalignCorners=false&scalesH>0inputSize[2]/outputSize[0]otherwisescaleH =\begin{cases} (inputSize[2]-1) / (outputSize[0]-1) & alignCorners=true \\ 1 / scalesH & alignCorners=false\&scalesH>0\\ inputSize[2] / outputSize[0] & otherwise \end{cases} scaleW={(inputSize[3]1)/(outputSize[1]1)alignCorners=true1/scalesWalignCorners=false&scalesW>0inputSize[3]/outputSize[1]otherwisescaleW =\begin{cases} (inputSize[3]-1) / (outputSize[1]-1) & alignCorners=true \\ 1 / scalesW & alignCorners=false\&scalesW>0\\ inputSize[3] / outputSize[1] & otherwise \end{cases}

    The values are as follows:

    • i and j are index variables of W(i,j)W(i, j).
    • f(hi,wj)f(h_i, w_j) is the pixel value of gradOutput in (hi,wj)(h_i, w_j).
    • W(i,j)W(i, j) is the weight of the bicubic anti-aliasing interpolation, which is defined as follows:W(d)={(a+2)d3(a+3)d2+1d1ad35ad2+8ad4a1<d<20otherwiseW(d) =\begin{cases} (a+2)|d|^3-(a+3)|d|^2+1 & |d|\leq1 \\ a|d|^3-5a|d|^2+8a|d|-4a & 1<|d|<2 \\ 0 & otherwise \end{cases} The values are as follows:
      • a=0.5a=-0.5
      • d=(h,w)(hi,wj)d = |(h, w) - (h_i, w_j)|
[object Object]

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

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

    [object Object]
  • Returns:

    [object Object]: status code. For details, see .

    The first-phase API implements input parameter validation. The following error codes may be returned.

    [object Object]
[object Object]
  • Parameters

    [object Object]
  • Returns:

    [object Object]: status code. For details, see .

[object Object]
  • The shape constraints of gradOutput and out are as follows:

    • The value of each dimension is less than or equal to 2^20.

    • The N and C axes of out must be the same as those of gradOutput.

    • The memory usage must meet the following requirements:

      (gradOutput_HgradOutput_W+out_Hout_W+gradOutput_Hout_W)NCsizeof(float)<60102410241024(gradOutput\_H * gradOutput\_W + out\_H * out\_W + gradOutput\_H * out\_W) * N * C * sizeof(float) < 60 * 1024 * 1024 * 1024

      The values are as follows:

      • N indicates the N axis of the input and output.
      • C indicates the C axis of the input and output.
    • N * C * gradOutput_H < 2^31

  • [object Object]Atlas A3 training products/Atlas A3 inference products[object Object] and [object Object]Atlas A2 training products/Atlas A2 inference products[object Object]:

    In the input data scaling scenario, the scaling factor must be less than or equal to 50. That is:

    outputSizeH/Heightoftheoutputshape<=50outputSize_H / Height of the output shape <= 50 outputSizeW/Widthoftheoutputshape<=50outputSize_W / Width of the output shape <= 50
  • The inputSize, outputSize, scalesH, and scalesW parameters must meet the following constraints:

    outputSize_H=floor(inputSize_HscalesH)outputSize\_H = floor(inputSize\_H * scalesH) outputSize_W=floor(inputSize_WscalesW)outputSize\_W = floor(inputSize\_W * scalesW)
  • Deterministic computation:

    • [object Object]Atlas A3 training products/Atlas A3 inference products[object Object] and [object Object]Atlas A2 training products/Atlas A2 inference products[object Object]: [object Object] defaults to a deterministic implementation.
    • Ascend 950PR/Ascend 950DT: [object Object] defaults to non-deterministic implementation. You can call [object Object] to enable deterministic computation.
[object Object]

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

[object Object]