yolov5_211_model_730.nef 是否有提供修改過yolov5s 模型Source Code

請問

在耐能PI 中SDK 內 使用 YOLOV5S 的NPU 推論(權重是yolov5_211_model_730.nef)運作起來,可以正常推論 

但因有 自有數據想基於耐能PI 內 yolov5s (權重是yolov5_211_model_730.nef) 來進行推論,耐能是否有相關的修改過yolov5s 模型Source Code 提供以加快產品開發時程

============

有參考https://www.kneron.com/forum/discussion/257/%E6%A8%A1%E5%9E%8B%E8%A8%93%E7%B7%B4%E8%BD%89%E6%AA%94)

但所產生出來的models730.nef 與yolov5_211_model_730.nef 有落差,無法直接使用

Comments

  • edited September 15

    您好,

    不好意思,我們沒有修改過yolov5s模型的source code。我們的開發中心是有yolov7的modification說明,但是沒有yolov5s的。

    可以請您說明一下nef模型無法直接使用的原因嗎? 是指nef結果不佳,還是用nef推論會有error呢? 另外,Onnx模型的推論結果正確嗎?


    Update: 關於yolov5,我們是有這個文檔,也有附上模型: Object detection yolov5 - Document Center,不過也沒有source code。

  • 您好,

    目前使用kneron_plus c 驗証過models_730.nef(可在KNEO-PI推論成功的),

    再使用models_730.nef 置換 nnm/example_nnm_rtsp 所使用的yolov5_211_model_730.nef 來進行推論所產生下列錯誤


  • 您好,

    Error code 21是KP_ERROR_INVALID_MODEL_21,意思是模型不符合規範/不正確,或是model ID路徑錯誤

    請問一下:

    1. yolov5_211_model_730.nef是指既有的KNERON_YOLOV5S_COCO80_640_640_3 (model ID = 211)模型嗎?

    2. 您的KL730 SDK的版本是哪一版的呢?

    3. 您使用Kneron PLUS C成功驗證了models_730.nef,是使用kl730_demo_generic_image_inference還是KL730 Single Model Example (customize inference)呢? 如果是使用kl730_demo_generic_image_inference的話,我們建議您接下來試customize inference,成功之後再去改firmware做model porting。

    Customize single model文檔: Create Single Model Example for KL730 - Document Center

    4. 可以請您確認是否有在firmware的model_type.h註冊customized的模型嗎? 請確認在Toolchain轉換時填入的model ID在model_type.h註冊的model ID是一致的,且要大於或等於32768。


  • koko
    edited September 26

    您好,

    目前所下載的SDK 有二套

    1.kneron_plus_v3.1.2 :

    使用YOLOV5 訓練數據,並轉出models_730.nef

    並使用 kneron_plus (kl730_demo_generic_image_inference_post_yolo/kl730_demo_generic_image_inference_post_yolo.c)

    在Kneo pi 使用kl730_demo_generic_image_inference_post_yolo配合models_730.nef 可完成推論





    2.kneopi-examples_v1.1.0(https://github.com/kneron/kneopi-examples) 內有yolov5_211_model_730.nef(無YOLOV5 SOURCE CODE)

    因看文件 (NNM 方式比kneron_plus 內USB方式效綠更好 ) , 所以才想直接使用ai_application/nnm/example_nnm_rtsp

    搭配models_730.nef (本以為第一點 kneron_plus_v3.1.2 所支援models_730.nef 和 yolov5_211_model_730.nef 是相容,可以直接使用)

    進行開發




  • 您好,

    感謝您提供資訊。NNM的inference速度確實會比Kneron PLUS+USB快,不過直接使用NNM之前請先確認在Kneron PLUS的KL730 Single Model Example也可以跑,在NNM做deployment會比較順利。


    Yolov5的模型有很多種,不同的模型會搭配不同的postprocess,所以訓練出來的yolov5模型不一定都可以用同一個postprocess。Kneron PLUS上的kl730_demo_generic_image_inference_post_yolo,可能跟kneo-pi-examples的postprocess寫得不一樣。

    為了避免模型不相容的問題,我們會推薦客戶用自己的model ID (32769以上的數字),且自行寫模型的postprocess,像是修改user_post_process_yolov5.c,讓它符合可完成推論的kl730_demo_generic_image_inference_post_yolo使用的postprocess: kneopi-examples/ai_application/nnm/app_flow/pre_post_proc/user_post_process_yolov5.c at main · kneron/kneopi-examples · GitHub

Sign In or Register to comment.