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
您好,
不好意思,我們沒有修改過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。
您好,
目前所下載的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