YOLOv5_NCNN icon indicating copy to clipboard operation
YOLOv5_NCNN copied to clipboard

关于yolov5s 模型文件

Open yukinolove8 opened this issue 2 years ago • 7 comments

项目里自带的模型文件 yolov5s .param 结构和自己使用yolov5-5.0训练再经过onnx,ncnn得到的模型文件结构不完全相同且替换后不能正常工作,请问项目自带的yolov5s模型文件是如何训练得到的呢?

yukinolove8 avatar Apr 26 '22 12:04 yukinolove8

用yolov5.cpp .h 这个需要改pytorch的代码并且已经过时了,建议用yolov5customlayer.cpp .h但又跟opencv冲突需要重新编译ncnn。所以只是想玩下的话可以试试这个,原理类似,也支持Focus自定义层,把下面的工程的后处理改一下,可以参考ncnn里面的examples有yolov5的示例 https://github.com/nihui/ncnn-android-yolox

cmdbug avatar Apr 26 '22 23:04 cmdbug

步骤在这,但已经过时了,不建议使用。 https://blog.csdn.net/qq_33160678/article/details/108848264

cmdbug avatar Apr 26 '22 23:04 cmdbug

好的谢谢dalao 👍

yukinolove8 avatar Apr 27 '22 01:04 yukinolove8

@yukinolove8 你好,请问你用 yolov5s 进行部署时,除了将 parambin 文件替换成自己的之外,还动了哪些文件呢。我仅仅只将 ncnn 模型替换了自己的,但是还是无法成功部署。

walker-ai avatar May 12 '22 02:05 walker-ai

我是用的u版yolov5s,替换demo里面的yolov5s_customlayer.param .bin ,需要改一下cmakelist.txt,前一个issue里面作者有提供新的cmakelist.txt文件,其次需要自己编译ncnn打开rtti选项,替换ncnnvulkan文件夹里的ncnn库,最后把.h文件里的输出换成自己模型的输出把ENABLE_CUSTOM_LAYER 改为 1修改java目录下box文件里面的labels改成自己的。就可以部署了

yukinolove8 avatar May 12 '22 02:05 yukinolove8

我是用的u版yolov5s,替换demo里面的yolov5s_customlayer.param .bin ,需要改一下cmakelist.txt,前一个issue里面作者有提供新的cmakelist.txt文件,其次需要自己编译ncnn打开rtti选项,替换ncnnvulkan文件夹里的ncnn库,最后把.h文件里的输出换成自己模型的输出把ENABLE_CUSTOM_LAYER 改为 1修改java目录下box文件里面的labels改成自己的。就可以部署了

感谢回复!我去试一下

walker-ai avatar May 12 '22 02:05 walker-ai

我是用的u版yolov5s,替换demo里面的yolov5s_customlayer.param .bin ,需要改一下cmakelist.txt,前一个issue里面作者有提供新的cmakelist.txt文件,其次需要自己编译ncnn打开rtti选项,替换ncnnvulkan文件夹里的ncnn库,最后把.h文件里的输出换成自己模型的输出把ENABLE_CUSTOM_LAYER 改为 1修改java目录下box文件里面的labels改成自己的。就可以部署了

大佬能分享一下你编译出来的ncnn吗,万分感谢

PengYu-Shi avatar Mar 17 '23 08:03 PengYu-Shi