YOLOv5_NCNN
YOLOv5_NCNN copied to clipboard
custom yolov4-tiny can inference but no output on yolov5-ncnn-android
大神好,我想用自己訓練的yolov4-tiny 在 android-ncnn 檢測目標
以下是我的yolov4-tiny-opt.param
這是我的模型訓練過程 我用WongKinYiu的yolov4-csp訓練了六個類別的yolov4-tiny 以下是程式碼的網址 https://github.com/WongKinYiu/ScaledYOLOv4/tree/yolov4-csp 參考這個issue WongKinYiu/ScaledYOLOv4#41 以及更改cfg檔(classes=6 & yolo層輸出的filter=33) 成功訓練出pytorch版本的yolov4-tiny (6-category) 並用ncnn中的darknet2ncnn與ncnnoptimize轉換成ncnn的模型與優化 使用您的android_YOLOV5_NCNN實現推論 但在執行下面這行 ex.extract("output", blob); 一直都沒有輸出結果,想請教大神我可能是哪裡出了問題
使用的哪个 .c 文件,运行时控制台有没有什么信息?
使用cpp資料夾中的YoloV4.cpp 運行時會跳出 D/skia: onFlyCompress W/ncnn: set_vulkan_compute failed, network use_vulkan_compute disabled 使用您的yolov4-tiny-opt.bin和yolov4-tiny-opt-param 能成功檢測到80類的目標 似乎沒有造成影響 使用我轉換完的yolov4-tiny可以運行但都沒有輸出結果 yolov4-tiny-6catogery.zip
先不用你自己训练的权重转换,先直接使用原始80分类的权重转换,看下是不是转换的问题。
剛剛將原始80分類的權重轉換,可以成功運行! https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights 問題應該出在自己訓練的權重上。。。
使用 AlexeyAB 的工程训练后再转换,不懂是不是 ScaledYOLOv4 这个工程代码有一点区别。
非常感謝! 改成用darknet訓練 再使用ncnn的darknet2ncnn成功轉換且有輸出bounding box
我後來希望模型能變得更小更快速,所以嘗試更改模型的架構(use yolov4-tiny-custom.cfg training by darknet) 類別只有六類 嘗試過 1.將特定數量的conv,route層 去除 2.將所有conv的filter都除以2 成功完成轉換與優化(darknet2ncnn,ncnnoptimize) 但在inference時卻沒有輸出bounding box 看fps推測沒有成功load model 想請教大神可能是哪邊疏忽了 (正在研究darknet2ncnn轉換的源碼)
需要先加载 .param 再加载 .bin 文件。
@CSSFA123 where i can find guide for convert my weights to bin and param format ?