移動CRM影響批發分銷的3種方式
699
2022-05-29
一、 預處理問題
1.?轉換模型預處理問題:
a.?能否解釋Input Image Format具體含義??為什么選擇RGB888格式,直接導入圖片就無法得到結果?
答:?Input Image Format是指輸入模型的圖像格式是什么,需要根據實際情況選擇;在你的編程框架中,你輸入該模型的圖片個是是RGB888格式你就選擇RGB888格式,如果選擇錯誤,預處理過程會出錯,當然結果也會錯。
b.?能否解釋Input Image Size具體含義?為什么寬要是128的整數倍,高是16的整數倍,按我的理解,這里不應該是直接輸入網絡的圖片大小嗎?
答:你這個模型轉換過程中的預處理過程,是調用DVPP完成格式的轉換的,送給DVPP處理的話,數據需要128*16對齊才能發揮D芯片最佳性能
2. ImagePreProcess模塊作用是什么?和轉換模型中的預處理有什么區別,還是說只是對輸入圖片進行resize操作,并將其保存傳入InferenceEngine模塊?
答:ImagePreProcess是一個Engine,你可以在該引擎的cpp代碼文件中添加任何你想要做的處理過程,你所看到的界面上可以配置的resize操作是抽象出來的通用的過程,是為了避免大家重復編碼的過程而已;?轉換模型過程中你看到的預處理過程也被稱為AIPP,AIPP僅包括你在界面上看到的文件格式轉換、減均值和歸一化因子乘等,該預處理過程可以被理解為將會被添加到了你所轉換的D模型的推理過程中去。
3.?按我個人的理解,在模型轉換過程時進行了預處理設置,則調用轉換后的模型進行inference的時候,我可以直接輸入一張圖片,而不需要進行預處理操作即可。
答:這要看你的工程需要啊,要看模型轉換過程中的預處理設置就已經能夠將你的原始輸入數據處理為滿足你的模型要求了,否則你就需要再ImagePreProcess過程做更多的事情。
4. ImagePreProcess模塊是否對所有網絡通用?可否講解一下預處理這部分的開發思路?
答:ImagePreProcess對所有工程通用,具體使用可參考生態網站上各個應用的ImagePreProcess源碼。
5.??能否給出github中“models”里已轉換模型在轉換過程中的具體參數配置?
答:各個應用的readme中,用到的模型其需要修改的具體參數設置都有,沒說明的就用默認配置;其他模型則沒有參數配置說明,因為配置跟具體的使用場景有關,如果沒有給出具體的示例,就沒法給出具體的參數配置值,需要在使用過程中根據需要進行修改。
二.?后處理問題
1. SaveFilePostProcess模塊是不是對所有網絡都可通用?
答:?是通用的,當你需要將推理結果保存為文件時,你可以選擇該Engine
2. ImageClassificationPostProcess模塊是否對所有分類網絡通用?
答:保存文檔的含義,這是模型的輸出,你自己訓練的模型,或者是你要用的模型,他的輸出你必然知道什么意思的,這里示例中的輸出,如果想要理解意思的話,建議了解下該網絡模型就可以理解這些文件格式的。其實如果是你自己的工程,你自己訓練的模型,這些肯定不是問題。
3.?可否講解一下后處理這部分的開發思路?例如針對SSDPostProcess模塊進行講解?可否增添yolo的后處理模塊?
答:后處理過程就是對模型推理的結果做處理的過程,比如說你可以將輸出的結果直接展示到瀏覽器中,可以參考人臉檢測的后處理過程,具體思路如下紅框中的處理過程,可以結合源碼參考。
三.?幀率顯示問題
1.?能否在后處理模塊或者終端輸出inference的處理時間或幀率?不然無法知道具體inference的時間,性能提高多少,網絡能在板子上跑多快?
答:考慮在網絡的執行引擎開頭和結尾計時并在結尾打印HIAI_ENGINE_LOG來顯示單次引擎執行時長;幀率的話可能要引入第三方庫,自己實現較繁瑣。
2. Profiling?無法使用問題:
答:觀察倒數第二行日志,拉起profiling的時候填寫的IP地址是10.20.58.146,您的開發板ip地址是否是該地址?正常默認usb連接的場景下該ip地址應該填寫192.168.1.2
五. HiAI Engine自定義工程開發問題
參照樣例工程代碼教程,無法得到結果:
答:這個應該是處理過程中模型推理執行過程中失敗了,結果文件沒有生成,一直在循環等待,請通過MindStudio查看host側log日志中具體的出錯信息進行定位,一般里面會有詳細的錯誤信息。
2.?樣例工程代碼教程中,為什么要將Input Image Preprocess圖像預處理開關關掉呢?
答:樣例工程只是為了展示引擎的基本編寫,引擎內部對數據都是透傳,并不需要進行預處理故關閉。
3.?對于Engine的理解:
SrcEngine:預處理?
FrameworkerEngine:推理?
DestEngine:后處理?
可否講解一下這幾個部分的開發思路?
答:在MindStudio的畫布上展示的幾乎每一個節點(除了模型和數據集)都是一個引擎,所有引擎構成了一個圖。我們的應用框架啟動時就是將圖初始化好,然后我們編寫代碼向最頂端的引擎灌注數據,一旦有數據進去,引擎便開始工作,從一個引擎進,處理,輸出至下一個引擎;下一個引擎接到上一個引擎的輸入,又開始工作,如此執行下去直到最后一個引擎處理完畢給出結果,單次執行算是結束。本例中給出的幾個引擎只是為了展示引擎的執行邏輯,并無實際意義。正常情況下我們是首先準備好數據集,然后將數據集一幀一幀的灌進預處理引擎,預處理結束將數據交給模型推理引擎,模型推理結束將數據交給后處理引擎,完成一次完整的推理過程。
預處理一般我們會將輸入處理成模型需要的數據格式,如果是CV類應用,可調用我們自研的DVPP進行圖像的預處理,如裁剪、格式轉換等;
推理就是拿到上一層處理結果來調用模型進行推理就是了;
后處理是拿到上一層的推理結果進行后續的動作,可以直接將結果打印個日志(輸出到文件中),如果結果是矩形的兩點坐標,可以通過后處理在原圖上根據兩點坐標畫個矩形展示出來等等,根據需要進行編寫即可。
4.?能否提供多一些詳細點的自定義工程開發樣例教程(例如yolo,ssd等有自定義層的網絡)?并且這些例程是否可以不通過MindStudio進行開發,直接使用make編譯,這樣我們可以自己調用opencv去讀取圖片視頻處理,最后進行相應結果顯示處理?
答:目前暫不支持有自定義層的caffe網絡模型轉換,只支持原生算子。
參見https://github.com/Ascend/sample-facialrecognition,這是個稍微復雜一些的應用,涉及三個網絡的整體貫通,里邊的代碼可作為借鑒。里邊調用DVPP處理圖片的過程可以替換為opencv。
5.?我看到github上有個python接口的調用API,請問這個大概還需要多久可以開放?可能python接口會更容易掌握。
答:?目前開放時間不確定,不好意思。
五.?硬件改動建議
1.?能否對開發板硬件進行改動,添加USB接口,HDMI接口,使其可以安裝ubuntu桌面版系統,接鼠標鍵盤之類,可以直接通過HDMI接口在板子上演示demo?
答:可以有兩個選擇:
1.?可以用Atlas 200模塊,自己做底板,就可以自己添加任意外設;Atlas 200?模塊只做加速計算。
2.?可以選購其他產品形態,比如智能小站,支持各種外設接口。
網絡 硬件開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。