[object Object]

[object Object][object Object]undefined
[object Object]
  • Description: Pads the input tensor [object Object] with data based on the [object Object] parameter. The padded data is specified by [object Object].

  • Formulas:

    • Shape deduction of the [object Object] tensor:

      Assume that the shape of the inputself is as follows:[dim0in,dim1in,dim2in,dim3in]Assume pad={dim3begin,dim3end,dim2begin,dim2end,dim1begin,dim1end,dim0begin,dim0end}\begin{align} \text{Assume that the shape of the input} \textit{self} \text{ is as follows:} \\ [dim0_{in}, dim1_{in}, dim2_{in}, dim3_{in}]\\ \text{Assume }\textit{pad} = \lbrace dim3_{begin},dim3_{end},\\ dim2_{begin},dim2_{end},\\ dim1_{begin},dim1_{end},\\ dim0_{begin},dim0_{end} \rbrace \end{align} Then, the shape of out is as follows:[dim0out,dim1out,dim2out,dim3out]=[dim0begin+dim0in+dim0end,dim1begin+dim1in+dim1end,dim2begin+dim2in+dim2end,dim3begin+dim3in+dim3end]\begin{aligned} \text{Then, the shape of } \textit{out} \text{ is as follows:} \\ [dim0_{out}, dim1_{out}, dim2_{out}, dim3_{out}] = \\ [dim0_{begin} + dim0_{in} + dim0_{end}, \\ dim1_{begin} + dim1_{in} + dim1_{end}, \\ dim2_{begin} + dim2_{in} + dim2_{end}, \\ dim3_{begin} + dim3_{in} + dim3_{end}] \end{aligned}
    • Example 1: (The length of the [object Object] array is twice the number of dimensions of [object Object].)

      selfShape=[1,1,1,1,1]pad={0,1,2,3,4,5,6,7,8,9}outputShape=[8+1+9,6+1+7,4+1+5,2+1+3,0+1+1]=[18,14,10,6,2]\begin{aligned} selfShape &= [1, 1, 1, 1, 1]\\ pad &= \lbrace 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\rbrace \\ outputShape &= [8+1+9, 6+1+7, 4+1+5, 2+1+3, 0+1+1]\\ &= [18,14,10,6,2] \end{aligned}
    • Example 2: (The length of the [object Object] array is less than twice the number of dimensions of [object Object].)

      selfShape=[1,1,1,1,1]pad={0,1,2,3,4,5}outputShape=[0+1+0,0+1+0,4+1+5,2+1+3,0+1+1]=[1,1,10,6,2]\begin{aligned} selfShape &= [1, 1, 1, 1, 1]\\ pad &= \lbrace 0, 1, 2, 3, 4, 5\rbrace \\ outputShape &= [0+1+0, 0+1+0, 4+1+5, 2+1+3, 0+1+1]\\ &= [1,1,10,6,2] \end{aligned}
[object Object]

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

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

    • [object Object] (aclTensor*, computation input): original input data to be padded, [object Object] on the device. The shape must be 0D to 8D. The data types of [object Object] and [object Object] must meet the data type deduction rules (see ). are supported. The can be ND.

      • [object Object]Atlas training products[object Object] and [object Object]Atlas inference products[object Object]: The data type can be FLOAT, FLOAT16, INT32, INT64, INT16, INT8, UINT8, UINT16, UINT32, UINT64, BOOL, DOUBLE, COMPLEX64, or COMPLEX128.
      • [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, BFLOAT16, INT32, INT64, INT16, INT8, UINT8, UINT16, UINT32, UINT64, BOOL, DOUBLE, COMPLEX64, or COMPLEX128.
    • [object Object] (aclIntArray*, computation input): padding for each axis of the input, [object Object] on the host. The array length must be an even number and cannot exceed twice the number of dimensions of [object Object].

    • [object Object] (aclScalar*, computation input): padding value, [object Object] on the host. The data types of [object Object] and [object Object] must meet the data type deduction rules (see ).

    • [object Object] (aclTensor*, computation output): output result after padding, [object Object] on the device. The shape must meet the deduction rules in the example. The data type must be the same as that of [object Object]. are supported. The can be ND.

      • [object Object]Atlas training products[object Object] and [object Object]Atlas inference products[object Object]: The data type can be FLOAT, FLOAT16, INT32, INT64, INT16, INT8, UINT8, UINT16, UINT32, UINT64, BOOL, DOUBLE, COMPLEX64, or COMPLEX128.
      • [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, BFLOAT16, INT32, INT64, INT16, INT8, UINT8, UINT16, UINT32, UINT64, BOOL, DOUBLE, COMPLEX64, or COMPLEX128.
    • [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

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

[object Object]
[object Object]
  • 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

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

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

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

[object Object]