昇腾社区首页
中文
注册
开发者
下载

aclnnConvDepthwise2d

产品支持情况

[object Object]undefined

功能说明

  • 算子功能:DepthwiseConv2D 是一种二维深度卷积运算。在该运算中,每个输入通道都会与一个独立的卷积核(称为深度卷积核)进行卷积。

  • 计算公式:

    假定输入 self 的 shape 是 (N,Cin,H,W)(N, C_{\text{in}}, H, W),输出 out 的 shape 是 (N,NCout,Hout,Wout)(N, N*C_{\text{out}}, H_{\text{out}}, W_{\text{out}}),那么每个卷积核的输出将被表示为:

    out(Ni,Coutj)=bias(Coutj)+weight(Coutj,Cinj)self(Ni,Cinj)\text{out}(N_i, C_{\text{out}_j}) = \text{bias}(C_{\text{out}_j}) + \text{weight}(C_{\text{out}_j}, C_{\text{in}_j}) \star \text{self}(N_i, C_{\text{in}_j})

    其中,\star 表示卷积计算,NN 代表批次大小(batch size),CC 代表通道数,WWHH 分别代表宽和高。

函数原型

每个算子分为,必须先调用 aclnnConvDepthwise2dGetWorkspaceSize 接口获取计算所需 workspace 大小以及包含了算子计算流程的执行器,再调用 aclnnConvDepthwise2d 接口执行计算。

[object Object]
[object Object]

aclnnConvDepthwise2dGetWorkspaceSize

  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

    第一段接口完成入参校验,出现以下场景时报错:

    [object Object]

aclnnConvDepthwise2d

  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

约束说明

  • 确定性计算

    • aclnnConvDepthwise2d默认确定性实现。
    [object Object]

调用示例

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]