YOLOv8训练和预测

该文介绍了如何下载YOLOv8的源码,配置环境,准备数据集以及进行训练配置。用户需要创建user_main.py和user_predict.py文件来执行训练和预测。在训练过程中可能会遇到预训练权重加载失败的问题,解决方案是重新下载权重文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.源码下载

2.环境配置 

3. 数据集准备

4.训练配置

5.训练时遇到的错误 

1.源码下载

GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite

2.环境配置 

        运行环境需要的包和YOLOv5/v7一样,这里不演示,默认环境依赖都完成。

3. 数据集准备

        数据集和训练yolov5/v7的没有任何区别 ,在yolov8.yaml中修改你数据集类别数,没有数据集可到下面链接中博文里有数据集下载链接

YOLOv5下载编译运行-口罩检测_Evan_qin_yi_quan的博客-CSDN博客 

自己制作数据集可看有手就行的自定义制作coco、voc、yolo格式数据集_Evan_qin_yi_quan的博客-CSDN博客 

 

 

4.训练配置

        代码下载解压后,在ultralytics-main/目录下创建user_main.py和 user_predict.py,用于训练和预测

        

        如果不需要载入与训练权重,则把第2、3个"model = ......"注释掉即可

#user_main.py 代码如下
from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.yaml')  # build a new model from YAML
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights

# Train the model,传入数据集
model.train(data='D:/deep_learn/yolov8_20230701/Tomato_diseases/data.yaml', epochs=100, batch=32)


#user_predict.py 代码如下

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('runs/detect/train14/weights/best.pt') #已经训练好的模型

# Define path to the image file
source = 'D:/deep_learn/yolov8_20230701/ultralytics-main/examples/predict-data' #待预测的数据保存路径

# Run inference on the source
results = model(source, mode='predict', save=True)  # list of Results objects

  训练则直接执行user_main.py,预测直接执行 user_predict.py即可

        下图是执行user_predict.py的结果

5.训练时遇到的错误 

         

1. File "D:\SoftInstall\Anaconda\lib\site-packages\torch\serialization.py", line 242, in __init__
    super(_open_zipfile_reader, self).__init__(torch._C.PyTorchFileReader(name_or_buffer))
RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
原因:无法载入预训练权重导致,原代码中的yolov8n.pt损坏,重新到github上下载预训练权重替换原来的 

 

 

### 使用YOLOv8进行模型训练 对于YOLOv8的模型训练,官方提供了详细的指南支持工具来简化这一流程。当前最新版本为8.2.0,在GitHub上有完整的项目资源可供获取[^2]。 为了启动YOLOv8训练过程,首先需要安装`ultralytics`库并准备数据集。假设已经完成了环境配置数据预处理工作,则可以通过以下Python脚本开始训练: ```python from ultralytics import YOLO # 创建一个新的YOLOv8n实例(可以更换成其他型号如'yolov8s', 'yolov8m'等) model = YOLO('yolov8n.yaml') # 开始训练;这里的data参数应指向自定义的数据配置文件路径, # epochs表示迭代次数,imgsz设置输入图像尺寸大小 results = model.train(data='path/to/data.yaml', epochs=100, imgsz=640) ``` 这段代码会基于指定的数据集执行训练操作,并自动保存最佳权重到默认目录下。训练完成后,还可以通过可视化工具查看混淆矩阵等相关统计图表以评估性能表现[^1]。 ### 执行YOLOv8推理 完成模型训练之后,就可以利用该模型来进行目标检测任务了。具体来说,加载之前保存的最佳权重文件并对新图片实施预测非常简单: ```python from ultralytics import YOLO # 加载已有的YOLOv8模型权重 model = YOLO('runs/train/exp/weights/best.pt') source_image_path = 'test.jpg' # 对单张测试图片运行推理,并将结果保存下来 predictions = model.predict(source_image_path, save=True) ``` 上述命令将会读取给定的源图像(`test.jpg`)并通过调用`.predict()`方法应用先前训练得到的对象识别能力对其进行标注,最终输出带有边界框标记的结果图像至本地磁盘中[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值