海思平台部署深度學習模型之最大池化層替換策略

2021-10-18 09:03:37 字數 631 閱讀 2746

華為的海思平台有一套自己的深度學習推理框架nnie,可實現在邊緣端硬體實現深度學習模型的部署,一般的部署套路是從訓練框架的模型轉到onnx模型,再轉到caffe模型,然後由caffe模型轉到nnie的wk模型。由於nnie所支援的運算元列表有限,經常會發生caffe->nnie轉換過程中報錯的現象。筆者在此整理了在轉換過程中遇到的一些不支援的op的情況,以及解決方案。

1.關於全域性平均(最大)池化操作,nnie中對池化層的核尺寸有乙個限制,kernel<2048/(w/(16*stride_w)stride_w)。

解決辦法:採用多次平均池化的方法,代替全域性平均池化。

例如:我想實現乙個234310尺寸的特徵圖的全域性池化

正常的caffe中的prototxt:

layer 

}

修改後的prototxt:

layer 

}layer

}

然後重新儲存caffemodel,在進行caffe->nnie就能執行推理。

碼字不易,如果覺得文章有用的話,請讚賞支援下!

機器學習演算法之 最大熵模型總結

最大熵模型可由最大熵原理推出,最大熵原理是概率模型學習的乙個準則。最大熵原理認為在滿足已有事實的所有可能的概率模型中,熵最大的模型是最好的模型。x 是x的取值個數,上式表明當且僅當x的分布是均勻分布時右邊的等號成立,當x服從均勻分布時,熵最大。兩個步驟 給定資料集,考慮模型滿足的條件,可以確定聯合分...

深度學習之最大池化操作的實現

在darknet框架中 c語言實現 max pooling實現方式如下 void forward maxpool layer const maxpool layer l,network net l.output out index max l.indexes out index max i 其中,函...

Android平台的深度學習模型載入

經實驗,得到如下結果 1 android通過opencv的dnn模組,可以載入caffe模型,但載入tf onnx pt失敗 vs中通過opencv的dnn模組載入模型,相同結果。2 centernet的pth模型轉為pt模型,android中通過pytorch.module載入失敗。3 andro...