文件最后提交记录最后更新时间
1 个月前
4 个月前
1 个月前
6 个月前
2 个月前
1 个月前
2 个月前
5 个月前
1 个月前
README

AvgPool3DGrad

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:三维平均池化的反向传播,计算三维平均池化正向传播的输入梯度。

  • 计算公式:

Dout=⌊Din+2×pads[0]−ksize[0]strides[0]+1⌋D_{out} = \left\lfloor \frac{D_{in} + 2 \times \text{pads}[0] - \text{ksize}[0]}{\text{strides}[0]} + 1 \right\rfloor

Hout=⌊Hin+2×pads[1]−ksize[1]strides[1]+1⌋H_{out} = \left\lfloor \frac{H_{in} + 2 \times \text{pads}[1] - \text{ksize}[1]}{\text{strides}[1]} + 1 \right\rfloor

Wout=⌊Win+2×pads[2]−ksize[2]strides[2]+1⌋W_{out} = \left\lfloor \frac{W_{in} + 2 \times \text{pads}[2] - \text{ksize}[2]}{\text{strides}[2]} + 1 \right\rfloor

若属性ceil_mode为True,且满足条件 (Dout−1)×stride[0]≥Din+padding[0](D_{out} - 1) \times \text{stride}[0] \geq D_{in} + \text{padding}[0],则会跳过最后一个窗口,这将导致维度 DoutD_{out} 减少1。此规则同样适用于维度 WoutW_{out}HoutH_{out}

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
orig_input_shape 输入
  • 表示正向的输入shape的值。
  • 输入的值为[N,C,Din,Hin,Win]。
INT32 ND
grads 输入
  • 表示反向输入的梯度。
  • 输入shape为[N,C,Dout,Hout,Wout]或者[N,Dout,Hout,Wout,C]。
FLOAT、FLOAT16、BFLOAT16 ND
ksize 属性 表示池化窗口大小。数值必须大于0。 INT64 -
strides 属性 表示池化操作的步长。数值必须大于0。 INT64 -
pads 属性 表示在输入的D、H、W方向上pads补0的层数。数值必须大于等于0。 INT64 -
ceil_mode 可选属性
  • 表示正向平均池化过程中推导的输出的shape是否向上取整(True表示向上取整)。
  • 默认值为false。
BOOL -
count_include_pad 可选属性
  • 计算正向平均池化时是否包括pads填充的0(True表示包括填充的0)。
  • 默认值为true。
BOOL -
divisor_override 可选属性
  • 表示取平均的除数。如果指定,它将用作平均计算中的除数,当值为0时,该属性不生效。
  • 默认值为0。
INT -
data_format 可选属性
  • 指定输入`grads`数据格式。
  • 取值必须为["NDHWC","NCDHW"]之一,默认值为"NDHWC"。
STRING -
output 输出 待进行AvgPool3DGrad计算的出参。shape需要与`orig_input_shape`的值一致。 FLOAT、FLOAT16、BFLOAT16 ND

约束说明

无。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_avgpool3d_backward.cpp 通过aclnnAvgPool3dBackward接口方式调用AvgPool3DGrad算子。