使用yolo进行饮料分类所涉问题及其解决方法简析

        本文是使用yolo进行饮料识别。

        github源码网址:GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite

        

1.解决方法的主要思想

       本实验需要检查torch和torchvision库的版本,如果版本过低,后面运行可能无法运行,所以需要重装。

       可以通过监测GPU进度,验证程序是否正常运行。

       注意,要阅读官方文档,CSDN上的解决方案有时未能解决问题。

2.解决方法的实现

2.1  找不到yaml文件

图1 文件夹里有yaml文件,但运行时显示该文件不存在

     查阅资料后,将训练指令里的路径和yaml里的路径都改成绝对路径。同时,修改测试的种类数量以及名字。注意,由于是在Linux环境下,需要使用反斜杠。如图2。

图2 fall.yaml的内容初步配置

     发现新的报错,“NotImplementedError: Could not run 'torchvision: :nms' with arguments from the ' CUDA' backend.”,即torchvision版本不匹配,无法调用CUDA。重装后,版本显示如图3。

图3 torchvision的版本要求

2.2  无法生成缓存文件

图4 没有生成对应的Cache文件

     发现labels文件夹为空,故考虑将ImageSets里的文本文件放入labels文件夹里。同时,减少训练的参数。

        出现报错:[Errno 2] No such file or directory: 'data\\images\\002.jpg。检查文件夹里图片文件发现,要求jpg文件,而数据库里都是jpeg文件,故需要进行格式转换。

        考虑将data文件夹放入ultralytics文件夹里,并修改fall.yaml里路径

2.3  找不到图像

图5 找不到图像

发现train.txt,trainval.txt和val.txt为空,考虑将data文件夹里的对应文本文件拿出来替换。经过测试发现,三个文本文件里都应该是图片编号,而没有train\trainval\val等英文单词。

发现fall.yaml文件里train,val,test的路径是没有后缀的,即指向的应该是文件夹而不是文件

考虑将images文件里图片拆分进train,val,test文件夹,labels文件夹里进行类似的分类。Fall.yaml里配置如图6。

图6 fall.yaml的内容最终配置

3 实验及运行结果

图7 正常运行

参考文献:

YOLOv8教程系列:一、使用自定义数据集训练YOLOv8模型(详细版教程,你只看一篇->调参攻略),包含环境搭建/数据准备/模型训练/预测/验证/导出等_Zhijun.li@Studio的博客-CSDN博客

Train Custom Data - Ultralytics YOLOv8 Docs

智慧农业基于YOLOv8的香蕉成熟度分级识别系统源码(部署教程+训练好的模型+各项评估指标曲线).zip 平均准确率:0.905 类别:very-ripe、immature、mid-ripe 【资源介绍】 1、ultralytics-main ultralytics-main为YOLOv8源代码,里面涵盖基于yolov8分类、目标检测额、姿态估计、图像分割四部分代码,我们使用的是detect部分,也就是目标检测代码 2、搭建环境 安装anaconda 和 pycharm windows系统、mac系统、Linux系统都适配 在anaconda中新建一个新的envs虚拟空间(可以参考博客来),命令窗口执行:conda create -n YOLOv8 python==3.8 创建完YOLOv8-GUI虚拟空间后,命令窗口执行:source activate YOLOv8 激活虚拟空间 然后就在YOLOv8虚拟空间内安装requirements.txt中的所有安装包,命令窗口执行:pip install -r requirements.txt 使用清华源安装更快 3、训练模型过程 进入到\ultralytics-main\ultralytics\yolo\v8\detect\文件夹下,datasets即为我们需要准备好的数据集,训练其他模型同理。 data文件夹下的bicycle.yaml文件为数据集配置文件,该文件为本人训练自行车检测模型时创建,训练其他模型,可自行创建。博文有介绍https://blog.csdn.net/DeepLearning_?spm=1011.2415.3001.5343 train.py中238行,修改为data = cfg.data or './bicycle.yaml' # or yolo.ClassificationDataset("mnist") 237行修改自己使用的预训练模型 若自己有显卡,修改239行,如我有四张显卡,即改成args = dict(model=model, data=data, device=”0,1,2,3“) 以上配置完成后运行train.py开始训练模型,训练完毕后会在runs/detect/文件夹下生成train*文件夹,里面包含模型和评估指标等 4、推理测试 训练好模型,打开predict.py,修改87行,model = cfg.model or 'yolov8n.pt',把yolov8n.pt换成我们刚才训练完生成的模型路径(在\ultralytics-main\ultralytics\yolo\v8\detect\runs\detect文件夹下),待测试的图片或者视频存放于ultralytics\ultralytics\assets文件夹, 运行predict.py即可,检测结果会在runs/detect/train文件夹下生成
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值