Default Avatar

Ethon Lin

Ethon Lin

About

Username
Ethon Lin
Joined
Visits
1,261
Last Active
Roles
Member, ModeratorsKL520, ModeratorsKL720, ModeratorsAIModel

Comments

  • Hello, 偵測結果的類別會 shift by 1推測可能是類別index有偏移,建議可以再次確認類別表。 或是試著將訓練的類別降至一種,確認相關設定無誤後再回到原本預期的類別數量 另外也確認一下,所提供的結果照片是透過onnx直接推論,還是已經在KL720上實際執行的結果呢?
  • Hello, 是的,模型的部分僅需維持原本的浮點架構,toolchain中會涵蓋轉換成定點的流程 移除post process ops的步驟可以先轉換成onnx模型後,再透過toolchain所提供的編輯器修改,相關用法可以參考文件的說明 http://doc.kneron.com/docs/#toolchain/converters/#7-mode…
  • Hello, 推測你的模型是來自tensorflow object detection api, https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1_detection_zoo.md#coco-trained-models   來自這裡的模型有非常多的問題(預設會把post process拆成一堆奇怪的oper…
  • Hello, 轉換成NEF後即可透過host_lib或PLUS的api讓模型在KL520上進行推論,在這過程中電腦需要透過USB連接KL520的相關裝置,host_lib或PLUS的使用可以參考耐能文件中心 http://doc.kneron.com/docs/#
  • https://www.kneron.com/forum/discussion/comment/516#Comment_516 是的,截圖中那些都要移除,相關工作在你收到三個輸出推論結果後再補做即可。 也提醒,yolov5s中的v4.0~v6.0用的activation是silu,耐能的NPU都不支援,若要使用v4.0~v6.0的話需要先將所有activation…
  • Hi Jasmine, 一個完整的模型應用會包含 pre process(處理輸入圖片) model inference (在GPU或加速棒上做推論) post process (將推論的結果特徵值整理並塞選出想要的結果) 若你已經有完整個GPU應用流程,則可將 步驟2的inference改在KL720上執行,建議可以使用最新的PLU…
  • Hi, 耐能的範例yolov5s是有針對模型的的layer作調整的,有關yolov5s的模型,過去有相關的討論串可以提供給你參考,可以用用看裡面提到的模型版本,不過當時toolchain僅支援opset = 9,現在的話請一律輸出opset =11,否則toolchain執行時會有錯誤 https://www.kneron.co…
  • Hello, 看了你的output2.onnx發現裡面還是有許多不支援的op,如resize, shape, reshape等,最後方一些不支援的部分因為沒有其他的神經網路op,所以可以整個砍掉,待推論結束後在cpu上補做即可,但模型中人有一些resize的部分可能先處理後才能夠執行toolchain後續的步驟
  • Hello, 有關KL720支援的op可以參考章節2.3的列表 http://doc.kneron.com/docs/#toolchain/manual/#2-toolchain-docker-overview 看了你的onnx後發現了幾個問題可能要先修正 模型中含有許多不支援的ops,如resize, shape, unsqueeze等 該模型沒有做過onnx轉換,若為pyto…
  • Hi Fred, 結果不如預期有很多可能,常見的錯誤有 preprocess設定錯誤,根據每個人的模型不同,對於輸入的影像也會需要不同的處理 模型訓練狀況不佳,建議訓練完成後先透過onnx inference確認效果符合你的預期 post process錯誤,每個模型的feature map輸出不同,輸出後…
  • Hello, 單只有ckpt檔的話可能無法看到你模型的內容,是否能請你提供轉換出來的onnx方便我們評估呢?
  • Hi Jasmine, 看起來是因為有不符合預期的 op Cast 與 Slice導致錯誤,我們520不支援cast跟slice, 這應該就是錯誤的原因,還請移除後再重新嘗試一次。
  • Kneron Academy is only compatible with kdp structure (host_lib), KDP2(PLUS structure) cannot work with Academy. If you want use Academy, please update your firmware back to kdp fw.
  • Hi Fred, 方便請你說一下keras-yolo3-master是從哪邊抓的嗎? 目前提供的training範例應該是yolov5與fcos,所以想跟你確認一下你的取得來源
  • 是的,目前toolchain對於模型的輸入格式為 1x height x weight x ch,若是ch數為1的情況下也還是請保持四個維度的狀態
  • Hi Fred, 錯誤訊息表示你的 main.py中沒有 cam_dme_serial_post_host_yolo 對應的設定,或是格是不符合導致錯誤。 推測你可能是直接將下載的範例複製到你原本的專案中,但所有的host_lib專案都是獨立運行,若直接將A專案的範例複製到B專案中,有可能發生不相融的錯誤,…
  • Hi Fred, 從你提供的資料來看,你的模型有幾個地方與原本範例不同 model_id: 範例的TINY_YOLO_V3_224_224_3.value = 19,而你的模型為1000 model_input_shape: 範例中為(224, 224),而你的模型為(416, 416) class_path: 範例中模型使用coco 80個類別來訓練,而從你的…
  • Hi Fred, 從錯誤訊息來看問題是發生在DME configure階段,表示你所設定的config與模型 / 輸入圖片可能不匹配 (model_id, app_id, image size等),可以先確認這些參數是否都有正確填寫,若還是發生問題的話可以提供你在toolchain中所設定的model id以及 host_lib的下載…
  • Hi Fred, 確認一下你的模型是照參考來源連結裡面的路徑去抓的嗎? 因為那邊說明所介紹的模型是tiny yolo v3,而KL520-cam_dme_async_post_host_yolov5這個範例是跑yolov5,兩個模型在應用中所需要的前處理與後處理函式不同,所以不能直接替換 若想要使用tiny yolo v3的…
  • 從截圖看錯誤應該是因為執行的命令所造成的。 所有的範例都需透過python main.py來執行,可以執行python main.py -h來看所有可執行的列表,請依照下面的步驟操作 退回你的路徑到 host_lib/python 執行 python main.py -t KL520-cam_dme_async_post_host_classification
  • Hi Fred, 可以先確認usb dongle是否有權限存取你電腦環境的usb通訊,權限設定方法如下 在Linux環境下,USB的存取是需要管理者權限的,但管理者權限下的環境與一般環境會有差異,也代表即便先前安裝好了python環境,若是在執行時改用sudo python 指令,則會發生找不到…
  • Hi Jasmine, fpAnalyserCompilerIpevaluator_520.py在執行時預設會去尋找/data1/input_params.json,或是透過引數-c 輸入json的路徑,script會依據json內的資訊找到對應的onnx與圖片來做量化與編譯 從錯誤訊息來看,模型onnx的input dimesion可能設定有誤,可以先檢查…
  • 感謝分享! 在接下來新版SDK的release中,我們也會提供相關格式的輸出直接供大家使用
  • Hello, 在KL520上,若是使用DME的API來做推論,所拿到的結果格式將會如下,可參考章節7.2中Post Process的介紹http://doc.kneron.com/docs/#520_1.5.0.0/getting_start/#7-run-model-binaries-in-dme-mode total_out_number + (c/h/w/radix/scale) + (c/h/w/radix/scal…
  • Hello, 確認所提供的alexnet後發現有幾個問題 transpose不支援,transpose或reshape這類operator的功用是在做資料的排列,並沒有實質的神經網路運算,所以在硬體加速棒中不會針對這類型操作處理,還請先在原始模型中移除transpose後再次執行converter 檔案大小太大,所…
  • Hello, 可能要請你提供完整個錯誤訊息截圖(包含所下的指令,及完整訊息內容),模型onnx檔以及json檔我們才好幫你作進一步確認
  • Hello, 我這邊試著用你的NEF去跑範例,看起來是可以正常推論的,我的修改如下 model_file改成你的NEF class_path改成你所提到的三種類別 後續直接執行後 python main.py -t KL520-cam_dme_async_post_host_yolov5 可以正常作動,我把我修改的cam_dme_async_post_host_y…
  • Hello, 看起來可能是模型的長寬與你設定的數值不符合,導致最後在整理結果時出錯,可以透過Netron (https://netron.app/)開啟你的onnx模型,確認模型最上端的輸入尺寸是否是你設定的480x256,若不是的話請根據模型的尺寸設定model_input_row / col。 若還是有問題的話…
  • Hello, 有關onnx生成的部分,推測你遇到的問題與這篇討論串相同 https://github.com/pytorch/pytorch/issues/34780#issuecomment-876969861    把curvenet_utils.py當中MaskedMaxPool作下列下列紅框處修改應可以使用它們提供的pytoch2onnx.py生出onnx https://www.kner…
  • 比對你所提供的dme_and_kdp.rar後發現兩個檔案並非出自於同一個專案,dme_async_pre_post_host_yolov5.py 是host_lib_competition.zip內的範例,但kdp_wrapper.py是https://github.com/kneron/host_lib內的檔案,雖然檔名一樣,但因為是不同專案所以不能混在一起用 同…