nnie yolov3 svp

將自己的網絡放到HI3559A上運行                             (這個是SSD的,https://freshmou.github.io/2018/10/NNIE/

前言:在上一篇中我們已經可以根據仿真的結果看到自己轉化後的模型的效果是什麼樣的,此次我們來將這個結果在海思處理器上覆現出來

step1.
在ubuntu上進入SDK目錄下的mpp/sample/svp/big-little,並將自己的wk文件與bgr圖像放入nnie/data中

注意可以在板子上運行的wk文件只能是指令仿真的wk文件(inst),功能性仿真的文件(func)不能被板子載入

step2.
進入nnie/sample文件夾,打開並編輯sample_nnie.c 文件,找到下面這兩部分,按照自己的需求進行更改

    pstSoftWareParam->u32OriImHeight = pstNnieParam->astSegData[0].astSrc[0].unShape.stWhc.u32Height;
    pstSoftWareParam->u32OriImWidth = pstNnieParam->astSegData[0].astSrc[0].unShape.stWhc.u32Width;
    pstSoftWareParam->u32BboxNumEachGrid = 3;
    pstSoftWareParam->u32ClassNum = 5;       //類的數目
    pstSoftWareParam->au32GridNumHeight[0] = 19;  //圖片大小/32 (例:608/32)
    pstSoftWareParam->au32GridNumHeight[1] = 38;  //圖片大小/16
    pstSoftWareParam->au32GridNumHeight[2] = 76;  //圖片大小/8
    pstSoftWareParam->au32GridNumWidth[0] = 19;
    pstSoftWareParam->au32GridNumWidth[1] = 38;
    pstSoftWareParam->au32GridNumWidth[2] = 76;
    pstSoftWareParam->u32NmsThresh = (HI_U32)(0.3f*SAMPLE_SVP_NNIE_QUANT_BASE);
    pstSoftWareParam->u32ConfThresh = (HI_U32)(0.5f*SAMPLE_SVP_NNIE_QUANT_BASE);
    pstSoftWareParam->u32MaxRoiNum = 15;     //每個圖片最多由多少個目標
    /*以下爲模型的anchor,具體計算方法請自行查詢,不更改也可*/
    pstSoftWareParam->af32Bias[0][0] = 116; 
    pstSoftWareParam->af32Bias[0][1] = 90;
    pstSoftWareParam->af32Bias[0][2] = 156;
    pstSoftWareParam->af32Bias[0][3] = 198;
    pstSoftWareParam->af32Bias[0][4] = 373;
    pstSoftWareParam->af32Bias[0][5] = 326;
    pstSoftWareParam->af32Bias[1][0] = 30;
    pstSoftWareParam->af32Bias[1][1] = 61;
    pstSoftWareParam->af32Bias[1][2] = 62;
    pstSoftWareParam->af32Bias[1][3] = 45;
    pstSoftWareParam->af32Bias[1][4] = 59;
    pstSoftWareParam->af32Bias[1][5] = 119;
    pstSoftWareParam->af32Bias[2][0] = 10;
    pstSoftWareParam->af32Bias[2][1] = 13;
    pstSoftWareParam->af32Bias[2][2] = 16;
    pstSoftWareParam->af32Bias[2][3] = 30;
    pstSoftWareParam->af32Bias[2][4] = 33;
    pstSoftWareParam->af32Bias[2][5] = 23;

step3.
重新返回到big-little 目錄下,進行make,make完成後會在nnie中生成一個可執行的文件,就是我們有個nnie編譯出來的結果。

將整個big-little文件拷貝到板子上,最好是使用nfs掛載上硬盤,也可以使用其他方式拷貝過去。

板子上電後需要先加載各部分的驅動文件,也就是load  ko文件,具體上電流程看此貼:

3559A上電後需要做什麼:https://blog.csdn.net/qq_34533248/article/details/102502038

將文件拷貝過去之後,進去nnie文件,使用以下命令完成首次推理。

./sample_nnie_main 8
————————————————
版權聲明:本文爲CSDN博主「他們叫我高老師」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章