大佬教程收集整理的这篇文章主要介绍了pt模型训练,转onnx,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
pytorch训练yolov5s.pt,之后转onnx。
以检测条形码为例,1分类问题,训练yolov5s.pt。
1、github上下载yolov5程序以及pt模型文件,ultralytics/yolov5: YOLOv5
2、data文件夹里,images放入样本图片,labels放入对应的txt标签(labelImg制作,注意选择YOLO模式)
新建yaml文件(上图中的barcode.yaml),用于指定路径和类别。为了省事训练和验证用的一样的图。
3、VSCode打开程序文件夹
修改models里yolov5s.yaml类别为1
修改根目录里的Train.py
点击VSCode右上方的开始按钮,训练完毕后,在runsTrainexpweights里得到pt模型 best.pt
4、测试下效果
修改根目录里detect.py
点击VSCode右上方的开始按钮,检测完毕后,在runsdetectexp里得到结果图。
5、pt转onnx
VSCode下方的“终端”里输入命令。注意自己的pt路径,会在同路径里得到best.onnx。
简化模型,先安装包。
【为什么要简化?】在训练完深度学习的pytorch或者tensorflow模型后,有时候需要把模型转成 onnx,但是很多时候,很多节点比如Cast节点,Identity 这些节点可能都不需要,我们需要进行简化,这样会方便我们把模型转成ncnn或者mnn等这些端侧部署的模型格式或者通过tensorRT进行部署。
pip install onnx coremltools onnx-simplifier
进入best.onnx目录
简化,同路径下得到简化后的模型 best-sim.onnx
查看网络结构
pip install netron python import netron netron.start('best-sim.onnx')
以上是大佬教程为你收集整理的pt模型训练,转onnx全部内容,希望文章能够帮你解决pt模型训练,转onnx所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。