海思Hi3519A NNIE开发中mobilenet-ssd模型转换过程中遇到的坑

我之前用的mobilenet-ssd模型中深度可分离卷积(dw)的prototxt如下
通过group来实现(代码中就是输入的8个featuremap经过分8组,每组各和一个卷积核做卷积运算,最后运算输出还是8个featuremap)

layer {
  name: "conv1/dw"
  type: "Convolution"
  bottom: "conv0"
  top: "conv1/dw"
  convolution_param {
    num_output: 8
    pad: 1
    kernel_size: 3
    group: 8
    engine: CAFFE
    weight_filler {
      type: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}

但是在NNIE中dw层是通过开源工程来重新定义过的,所以上面的prototxt是不符合nnie规范的,会有参数读不出来,导致后续计算出现没有检测结果的情况。
Depthwise Convolution 层,参考设计为Xeption网络,开源工程地址为
https://github.com/fchollet/keras/blob/master/keras/applications/xception.py。

修改后DW层的描述如下,之后再在ruyi studio看,dw层参数就正常了。

layer {
  name: "conv1/dw"
  type: "Convolution"
  bottom: "conv0"
  top: "conv1/dw"
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}

海思Hi3519A NNIE开发中mobilenet-ssd模型转换过程中遇到的坑_第1张图片

你可能感兴趣的:(海思Hi3519A NNIE开发中mobilenet-ssd模型转换过程中遇到的坑)