一、官方网站地址:https://docs.ultralytics.com/
二、Install Ultralytics
Ultralytics提供了各种安装方法,包括pip、conda和Docker。通过ultralytics pip包安装YOLO以获得最新稳定版本,或通过克隆ultralytics GitHub存储库以获得最新版。Docker可用于在隔离的容器中执行包,避免本地安装。
(一)Pip install (推荐使用)
# Install the ultralytics package from PyPI
pip install ultralytics
# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main
(二)Conda install
Conda是pip的替代包管理器,也可用于安装。访问Anaconda了解更多详细信息https://anaconda.org/conda-forge/ultralytics.用于更新conda软件包的Ultralytics原料库位于https://github.com/conda-forge/ultralytics-feedstock/.
# Install the ultralytics package using conda
conda install -c conda-forge ultralytics
如果要在CUDA环境中安装,最佳做法是在同一命令中安装ultralytics、pytorch和pytorch-CUDA,以允许conda包管理器解决任何冲突,或者最后安装pytorch-CUDA,以便在必要时覆盖特定于CPU的pytorch包。
# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
(三)Git clone
如果您有兴趣为开发做出贡献或希望尝试最新的源代码,请克隆ultralytics存储库。克隆后,导航到目录并使用pip以可编辑模式-e安装包。
# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics
# Navigate to the cloned directory
cd ultralytics
# Install the package in editable mode for development
pip install -e .
三、将Ultralytics与Python结合使用
YOLO的Python接口允许无缝集成到Python项目中,使加载、运行和处理模型的输出变得容易。Python界面的设计考虑到了简单性和易用性,使用户能够在项目中快速实现对象检测、分割和分类。这使得YOLO的Python接口成为任何希望将这些功能整合到Python项目中的人的宝贵工具。
例如,用户只需几行代码就可以加载模型、训练模型、评估其在验证集上的性能,甚至将其导出为ONNX格式。查看Python指南,了解更多关于在Python项目中使用YOLO的信息。
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.pt")
# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to ONNX format
success = model.export(format="onnx")
四、模式(Modes)
训练模式(Train mode):在自定义或预加载的数据集上微调您的模型。
Val模式(Val mode):用于验证模型性能的训练后检查点。
预测模式(Predict mode):释放模型对真实世界数据的预测能力。
导出模式(Export mode):以各种格式准备好模型部署。
跟踪模式(Track mode):将您的对象检测模型扩展到实时跟踪应用程序中。
基准模式(Benchmark mode):分析模型在不同部署环境中的速度和准确性。
五、训练模式(Train Modes)
(一)使用单GPU和CPU进行训练
在图像大小为640的COCO8数据集上训练YOLO11n 100个迭代周期。可以使用设备参数指定训练设备。如果没有传递参数,则将使用GPU设备=0(如果可用),否则将使用设备='cpu'。有关训练参数的完整列表,请参阅下面的参数部分。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
(二)使用Multi-GPU 训练
通过在多个GPU上分配训练负载,多GPU训练可以更有效地利用可用硬件资源。此功能可通过Python API和命令行界面使用。要启用多GPU训练,请指定要使用的GPU设备ID。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
(三)恢复中断的训练
在使用深度学习模型时,从之前保存的状态恢复训练是一个关键功能。这在各种情况下都很有用,比如当训练过程意外中断时,或者当你希望用新数据或更多时间继续训练模型时。
当训练恢复时,Ultralytics YOLO会从上次保存的模型中加载权重,并恢复优化器状态、学习率调度器和历元数。这使您可以从中断的地方无缝地继续培训过程。
通过在调用train方法时将resume参数设置为True,并指定包含部分训练模型权重的.pt文件的路径,您可以在Ultralytics YOLO中轻松恢复训练。
下面是一个如何使用Python并通过命令行恢复中断的训练的示例:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/last.pt") # load