在西部数码上再备案一个网站ftp,八度填写icp备案网站 接入信息,设计一套网站费用,网页设计与制作课程心得介绍 训练深度学习模型包括向其提供数据并调整其参数#xff0c;以便其能够做出准确的预测。Ultralytics YOLOv8中的训练模式旨在充分利用现代硬件功能#xff0c;对目标检测模型进行有效和高效的训练。本指南旨在涵盖使用YOLOv8强大的一组功能开始训练自己的模型所需的所有细…介绍 训练深度学习模型包括向其提供数据并调整其参数以便其能够做出准确的预测。Ultralytics YOLOv8中的训练模式旨在充分利用现代硬件功能对目标检测模型进行有效和高效的训练。本指南旨在涵盖使用YOLOv8强大的一组功能开始训练自己的模型所需的所有细节。
为什么选择Ultralytics YOLO进行训练
以下是选择YOLOv8的Train模式的一些令人信服的理由
效率充分利用您的硬件无论您是使用单个GPU设置还是跨多个GPU扩展。
多功能性除了COCO、VOC和ImageNet等现成的数据集外还可以在自定义数据集上进行培训。
用户友好型简单而强大的CLI和Python界面提供直观的培训体验。
超参数灵活性广泛的可定制超参数可微调模型性能。
训练模式的主要特点
以下是YOLOv8列车模式的一些显著特点
自动数据集下载标准数据集如COCO、VOC和ImageNet在首次使用时自动下载。
多GPU支持跨多个GPU无缝扩展您的培训工作以加快过程。
超参数配置通过YAML配置文件或CLI参数修改超参数的选项。
可视化和监控实时跟踪训练指标可视化学习过程以获得更好的见解。
提示
YOLOv8数据集如COCO、VOC、ImageNet和许多其他数据集在首次使用时自动下载即yolo train dataCOCO.yaml
用法示例 在COCO128数据集上以640尺寸的图像大小训练YOLOv8n 100个周期。可以使用设备参数指定训练设备。如果没有传递任何参数并且GPU加速可用将使用GPU设备0否则将使用设备cpu。有关训练参数的完整列表请参阅下面的“参数”部分。
单GPU和CPU训练示例
设备是自动确定的。如果GPU可用则将使用它否则将在CPU上开始训练。
训练代码示例如下
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
results model.train(datacoco128.yaml, epochs100, imgsz640)使用命令训练CLI示例如下
# Build a new model from YAML and start training from scratch
yolo detect train datacoco128.yaml modelyolov8n.yaml epochs100 imgsz640# Start training from a pretrained *.pt model
yolo detect train datacoco128.yaml modelyolov8n.pt epochs100 imgsz640# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train datacoco128.yaml modelyolov8n.yaml pretrainedyolov8n.pt epochs100 imgsz640多GPU训练 通过在多个GPU之间分配训练负载多GPU训练允许更有效地利用可用硬件资源。此功能可通过Python API和命令行界面使用。要启用多GPU训练请指定要使用的GPU设备ID。
python代码训练demo:
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.pt) # load a pretrained model (recommended for training)# Train the model with 2 GPUs
results model.train(datacoco128.yaml, epochs100, imgsz640, device[0, 1])命令训练CLI示例如下
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train datacoco128.yaml modelyolov8n.pt epochs100 imgsz640 device0,1
Apple M1和M2 MPS培训 随着对集成在Ultralytics YOLO型号中的Apple M1和M2芯片的支持现在可以在使用强大的金属性能着色器MPS框架的设备上训练您的型号。MPS提供了一种在苹果定制硅上执行计算和图像处理任务的高性能方式。要在Apple M1和M2芯片上进行培训在启动培训过程时应将“mps”指定为您的设备。以下是如何在Python中通过命令行执行此操作的示例
python代码训练demo:
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.pt) # load a pretrained model (recommended for training)# Train the model with 2 GPUs
results model.train(datacoco128.yaml, epochs100, imgsz640, devicemps)命令训练CLI示例如下
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train datacoco128.yaml modelyolov8n.pt epochs100 imgsz640 devicemps在利用M1/M2芯片的计算能力的同时这使得能够更有效地处理训练任务。有关更详细的指导和高级配置选项请参阅PyTorch MPS文档。
恢复中断的培训
在使用深度学习模型时从以前保存的状态恢复训练是一个关键功能。这在各种情况下都很有用比如当训练过程意外中断时或者当您希望用新数据或更多时期继续训练模型时。
恢复训练时Ultralytics YOLO从上次保存的模型加载权重还恢复优化器状态、学习率调度器和历元数。这使您能够从中断的地方无缝地继续培训过程。
通过在调用train方法时将resume参数设置为True并指定包含部分训练的模型权重的.pt文件的路径可以轻松地在Ultralytics YOLO中恢复训练。
以下是如何使用Python并通过命令行恢复中断的培训的示例
python代码训练demo:
from ultralytics import YOLO# Load a model
model YOLO(path/to/last.pt) # load a partially trained model# Resume training
results model.train(resumeTrue)命令训练CLI示例如下
# Resume an interrupted training
yolo train resume modelpath/to/last.pt
通过设置resumeTruetrain函数将使用存储在“path/to/last.pt”文件中的状态从停止的位置继续训练。如果省略了简历参数或将其设置为False则培训功能将开始新的培训课程。
请记住默认情况下检查点保存在每个epoch的末尾或者使用save_period参数以固定的间隔保存因此您必须至少完成1个epoch才能恢复训练运行。
参数
参数详细讲解部分请见我的另一篇博客链接是
日志记录
在训练YOLOv8模型时您可能会发现随着时间的推移跟踪模型的性能是很有价值的。这就是日志记录发挥作用的地方。Ultralytics的YOLO支持三种类型的记录器——Comet、ClearML和TensorBoard。
要使用记录器请从上面代码段的下拉菜单中选择它并运行它。所选的记录器将被安装并初始化。
Comet
Comet是一个允许数据科学家和开发人员跟踪、比较、解释和优化实验和模型的平台。它提供了实时度量、代码差异和超参数跟踪等功能。
要使用Comet
# pip install comet_ml
import comet_mlcomet_ml.init()
请记住在他们的网站上登录您的Comet帐户并获取您的API密钥。您需要将其添加到环境变量或脚本中以记录您的实验。
ClearML
ClearML是一个开源平台可以自动跟踪实验并有助于有效共享资源。它旨在帮助团队更有效地管理、执行和复制他们的ML工作。要使用ClearML
# pip install clearml
import clearmlclearml.browser_login()
运行此脚本后您需要在浏览器上登录ClearML帐户并验证会话。
TensorBoard
TensorBoard是TensorFlow的可视化工具包。它允许您可视化TensorFlow图绘制有关图执行的定量指标并显示通过它的其他数据如图像。
在谷歌可乐中使用TensorBoard:
load_ext tensorboard
tensorboard --logdir ultralytics/runs # replace with runs directory要在本地使用TensorBoard请运行以下命令并在http://localhost:6006/.
tensorboard --logdir ultralytics/runs # replace with runs directory这将加载TensorBoard并将其引导到保存培训日志的目录中。
设置好记录器后您可以继续进行模型培训。所有培训指标都将自动记录在您选择的平台中您可以访问这些日志来监控您的模型在一段时间内的性能比较不同的模型并确定需要改进的领域。