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

AvgPool3D

产品支持情况

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

功能说明

  • 算子功能:对输入Tensor进行窗口为kD∗kH∗kWkD * kH * kW、步长为sD∗sH∗sWsD * sH * sW的三维平均池化操作,其中kk为kernelSize,表示池化窗口的大小,ss为stride,表示池化操作的步长。

  • 计算公式: 输入input(N,C,Din,Hin,WinN,C,D_{in},H_{in},W_{in})、输出out(N,C,Dout,Hout,WoutN,C,D_{out},H_{out},W_{out})和池化步长(stridestride)、池化窗口大小kernelSize(kD,kH,kWkD,kH,kW)的关系是

Dout=⌊Din+2∗padding[0]−kernelSize[0]stride[0]+1⌋D_{out}=\lfloor \frac{D_{in}+2*padding[0]-kernelSize[0]}{stride[0]}+1 \rfloor

Hout=⌊Hin+2∗padding[1]−kernelSize[1]stride[1]+1⌋H_{out}=\lfloor \frac{H_{in}+2*padding[1]-kernelSize[1]}{stride[1]}+1 \rfloor

Wout=⌊Win+2∗padding[2]−kernelSize[2]stride[2]+1⌋W_{out}=\lfloor \frac{W_{in}+2*padding[2]-kernelSize[2]}{stride[2]}+1 \rfloor

out(Ni,Ci,d,h,w)=1kD∗kH∗kW∑k=0kD−1∑m=0kH−1∑n=0kW−1input(Ni,Ci,stride[0]∗d+k,stride[1]∗h+m,stride[2]∗w+n)out(N_i,C_i,d,h,w)=\frac{1}{kD*kH*kW}\sum_{k=0}^{kD-1}\sum_{m=0}^{kH-1}\sum_{n=0}^{kW-1}input(N_i,C_i,stride[0]*d+k,stride[1]*h+m,stride[2]*w+n)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 表示待转换的张量,公式中的`input`。 FLOAT、FLOAT16、BFLOAT16 ND
ksize 属性 表示池化窗口大小,公式中的`kernelSize`。 INT64 -
strides 属性 表示池化操作的步长,公式中的`stride`。 INT64 -
pads 属性 表示在输入的D、H、W方向上pads补0的层数,公式中的`padding`。 INT64 -
ceil_mode 可选属性 表示计算输出shape时,向下取整(False),否则向上取整。 BOOL -
count_include_pad 可选属性 表示平均计算中包括零填充(True),否则不包括。 BOOL -
divisor_override 可选属性 如果指定,它将用作平均计算中的除数,当值为0时,该属性不生效。 INT -
data_format 可选属性 输入数据格式,支持"NDHWC"。 STRING -
y 输出 待进行AvgPool3D计算的出参,公式中的`out`。数据类型、数据格式需要与`x`一致。 FLOAT、FLOAT16、BFLOAT16 ND
  • Kirin X90/Kirin 9030 处理器系列产品: 不支持BFLOAT16。

约束说明

无。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_avgpool3d.cpp 通过aclnnAvgPool3d接口方式调用AvgPool3d算子。