conv3d_backprop_filter

功能说明

在给定6HD格式的Data和6HD格式的out_backprop的情况下计算float32的3-D反卷积。

Data tensor 的shape是6HD,即(N, D, C1, H, W, C0);out_backprop Tensor 的shape是 6HD,即(N, D, C1, H, W, C0)。

函数原型

conv3d_backprop_filter(x, out_backprop, filter_size, para_dict)

参数说明

返回值

res_tensor:表示卷积计算的tensor,即卷积计算的结果输出。

约束说明

此接口暂不支持与其他TBE DSL计算接口混合使用。

支持的芯片型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

调用示例

from tbe import tvm
from tbe import dsl

shape_dedy = (16, 4, 1, 36, 36, 16)
out_backprop_dtype = "float16"
filter_sizes = [16, 2, 16, 3, 3]
shape_fmap = (16, 8, 1, 72, 72, 16)
x_dtype = "float16"

dedy = tvm.placeholder(shape_dedy, name="dedy", dtype=out_backprop_dtype)
fmap = tvm.placeholder(shape_fmap, name="fmap", dtype=x_dtype)

strides = [2, 2, 2]
pads = [0, 0, 0, 1, 0, 1]
dilations = [1, 1, 1, 1, 1]
res_dtype = "float32"
kernel_name = "conv3d_backprop_filter_dx_16_8_72_72_16_dy_16_4_36_36_16_dw_2_3_3_16_16_s_1_2_2_2_1_p_SAME"
group_dict = {'real_g': 1, 'mag_factor': 1, 'cin1_g': 1, 'cout_g': 16, 'cin_ori': 16, 'cout_ori': 16}

para_dict = {
    "strides": strides,
    "pads": pads,
    "dilations": dilations,
    "res_dtype": res_dtype,
    "kernel_name": kernel_name,
    "group_dict": group_dict
}

dedw = dsl.conv3d_backprop_filter(
    x=fmap,
    out_backprop=dedy,
    filter_size=filter_sizes,
    para_dict=para_dict
)