Yolo总结
https://docs.ultralytics.com/usage/python/#benchmark
#总结,首先要安装图表标记
labelme,images和labels,编写yaml
#Pycharm终端运行
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 -i https://pypi.tuna.tsinghua.edu.cn/simple
#安装ultralytics
pip install ultralytics
#训练模型
from ultralytics import YOLO
model = YOLO("yolo11n.yaml")
model = YOLO("yolo11n.pt")
results = model.train(data="yoloA\A.yaml", epochs=50)#epochs值越大越好,默认100
results = model.val(data="yoloA\A.yaml", conf=0.25, save_json=True)#模型验证
#A.yaml内容
path: E:\Yolov11\Yolo\yoloA # 注意修改自己NEU-DET数据集的路径
train: train/images # train images
val: val/images # val images
test: test/images # test images
nc: 1
# Classes names: ['dog','cat']
names:
0: bad
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
如何使用我的数据集训练自定义 YOLO 模型?
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("yolo11n.yaml")
# Train the model with custom dataset
model.train(data="path/to/your/dataset.yaml", epochs=10)
resume您可以通过将参数设置为True调用该方法时轻松恢复YOLO中的培训,并指定包含部分训练的模型权重的文件train路径。from ultralytics import YOLO
# Load a model
model = YOLO("path/to/last.pt") # load a partially trained model
# Resume training
results = model.train(resume=True)
#使用训练好的模型
from ultralytics import YOLO
model = YOLO(r"runs\detect\train\weights\best.pt")
results = model.val(data=r"val.yaml",imgsz=2024,batch=30,iou=0.6, conf=0.25)
from ultralytics import YOLO
# Load a pretrained YOLO model
model = YOLO("yolo11n.pt")
# Perform object detection on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
for result in results:
result.show()
如何将YOLO集成到我的Python项目中用于物体检测?
from ultralytics import YOLO
# Load a pretrained YOLO model
model = YOLO("yolo11n.pt")
# Perform object detection on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
for result in results:
result.show()
如何导出 YOLO 模型以进行部署?
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
model.export(format="onnx")
我可以在不同的数据集上验证我的YOLO模型吗?
from ultralytics import YOLO
# Load a YOLO model
model = YOLO("yolo11n.yaml")
# Train the model
model.train(data="coco8.yaml", epochs=5)
# Validate the model on a different dataset
model.val(data="path/to/separate/data.yaml")
YOLO 中有哪些不同的模式?
Ultralytics YOLO 提供了多种模式以满足不同的机器学习工作流程。这些包括:
- 训练:使用自定义数据集训练模型。
- Val:在验证集上验证模型性能。
- 预测:对新的图像或视频流进行预测。
- 导出:将模型导出为ONNX和TensorRT等各种格式。
- 跟踪:视频流中的实时物体跟踪。
- 基准测试:在不同的配置下基准测试模型性能。
每个模式都是为模型开发和部署的不同阶段提供全面功能而设计的.
| 争论 | 类型 | 默认 | 描述 |
|---|---|---|---|
model |
str |
None |
指定培训模型文件。接受.pt验证模型或配置文件的路径.yaml。定义模型结构或初始化权重的必要条件。 |
data |
str |
None |
数据集配置文件(例如coco8.yaml)的路径。该文件包含特定于数据集的参数,包括培训和验证数据的途径,类名和类数。 |
epochs |
int |
100 |
训练时期的总数。每个时期都代表整个数据集的完整通行证。调整此值会影响训练持续时间和模型性能。 |
time |
float |
None |
小时的最大训练时间。如果设置,这将覆盖epochs参数,允许训练在指定的持续时间后自动停止。对于时间约束的培训方案很有用。 |
patience |
int |
100 |
在停止培训之前,在不改善验证指标的情况下等待时的时代数量。在性能高原时停止训练,有助于防止过度适应。 |
batch |
int |
16 |
批处理大小,具有三种模式:设置为整数(例如batch=16),60%GPU内存利用率(batch=-1)的自动模式或具有指定利用率分数(batch=0.70)的自动模式。 |
imgsz |
int或者list |
640 |
训练目标图像大小。所有图像都将其调整到该维度之前,然后将其馈入模型。影响模型的准确性和计算复杂性。 |
save |
bool |
True |
可以节省训练检查点和最终模型权重。对于恢复培训或模型部署有用。 |
save_period |
int |
-1 |
保存模型检查点的频率,以时期指定。 -1的值禁用此功能。在长期训练期间保存临时模型有用。 |
cache |
bool |
False |
True在内存( / ram),磁盘(disk)上或禁用它( )中的数据集图像的缓存False。通过减少磁盘I/O,以增加内存使用量来提高训练速度。 |
device |
int或str或list |
None |
指定用于培训的计算设备:单个GPU(device=0),多个GPU(device=0,1),CPU(device=cpu)或MPS Apple Silicon(device=mps)。 |
workers |
int |
8 |
数据加载的工作线数(RANK如果多GPU培训)。影响数据预处理的速度和进食模型,在多GPU设置中尤其有用。 |
project |
str |
None |
保存培训输出的项目目录的名称。允许组织不同实验的存储。 |
name |
str |
None |
训练运行的名称。用于在项目文件夹中创建一个子目录,其中存储了训练日志和输出。 |
exist_ok |
bool |
False |
如果为true,则允许覆盖现有项目/名称目录。对于迭代实验有用,无需手动清除先前的输出。 |
pretrained |
bool或者str |
True |
确定是否从验证的模型开始培训。可以是布尔值,也可以是特定模型的字符串路径,从而从中加载权重。提高培训效率和模型性能。 |
optimizer |
str |
'auto' |
选择优化器进行培训。选项包括SGD,,,,,,或用于基于模型配置的自动选择Adam。影响收敛速度和稳定性。AdamWNAdamRAdamRMSPropauto |
seed |
int |
0 |
为训练设置随机种子,确保具有相同配置的运行过程中结果的可重复性。 |
deterministic |
bool |
True |
力确定性算法的使用,确保可重复性,但由于对非确定性算法的限制,可能会影响性能和速度。 |
single_cls |
bool |
False |
在培训期间,将多级数据集中的所有课程视为单个类。对于二进制分类任务或专注于对象存在而不是分类时。 |
classes |
list[int] |
None |
指定要训练的类ID列表。在培训期间过滤出来并仅专注于某些课程。 |
rect |
bool |
False |
启用矩形训练,优化最小填充物的批处理组成。可以提高效率和速度,但可能会影响模型准确性。 |
multi_scale |
bool |
False |
imgsz通过在训练过程中最多增加/减少来启用多尺度培训0.5。在推断过程中,训练模型更准确imgsz。 |
cos_lr |
bool |
False |
利用余弦学习率调度程序,在余弦曲线上对时期的学习率调整了学习率。有助于管理学习率以更好地收敛。 |
close_mosaic |
int |
10 |
在最后一个n段中禁用马赛克数据扩展,以在完成前稳定训练。设置为0禁用此功能。 |
resume |
bool |
False |
从最后保存的检查站恢复培训。自动加载模型权重,优化器状态和时期计数,从而无缝进行训练。 |
amp |
bool |
True |
启用自动混合精度(AMP)训练,减少记忆使用情况并可能对准确性影响最小的培训加速训练。 |
fraction |
float |
1.0 |
指定用于培训的数据集的分数。允许在完整数据集的子集上进行培训,可用于实验或资源有限时。 |
profile |
bool |
False |
在训练过程中启用onnx和张力速度的分析,可用于优化模型部署。 |
freeze |
int或者list |
None |
通过索引冻结模型或指定图层的前层,减少了可训练的参数的数量。可用于微调或转移学习。 |
lr0 |
float |
0.01 |
初始学习率(即SGD=1E-2)Adam=1E-3。调整此值对于优化过程至关重要,从而影响了模型权重的更新方式。 |
lrf |
float |
0.01 |
最终学习率是初始率的一部分=(lr0 * lrf),与调度程序一起使用,以随着时间的推移调整学习率。 |
momentum |
float |
0.937 |
ADAM优化器的SGD或BETA1的动量因素,影响了过去梯度在当前更新中的掺入。 |
weight_decay |
float |
0.0005 |
L2正则化项,惩罚大量重量以防止过度拟合。 |
warmup_epochs |
float |
3.0 |
学习率热身的时期数量,逐渐将学习率从低价值提高到初始学习率,以便尽早稳定培训。 |
warmup_momentum |
float |
0.8 |
热身阶段的初始动量,逐渐调整为在热身期间的设定动量。 |
warmup_bias_lr |
float |
0.1 |
在热身阶段,偏差参数的学习率有助于稳定最初时期的模型训练。 |
box |
float |
7.5 |
损失函数中盒子损耗组件的重量,影响了准确预测边界盒坐标的重点。 |
cls |
float |
0.5 |
总损失函数中分类损失的重量,影响正确类预测相对于其他组件的重要性。 |
dfl |
float |
1.5 |
分布焦点损失的重量,用于某些Yolo版本,用于细粒度分类。 |
pose |
float |
12.0 |
在训练姿势估计的模型中,姿势损失的重量影响了精确预测姿势关键的重点。 |
kobj |
float |
2.0 |
姿势估计模型中关键点对象损失的重量,平衡检测置信度与姿势精度。 |
nbs |
int |
64 |
标称损失归一化的标称批量大小。 |
overlap_mask |
bool |
True |
确定是否应将对象掩码合并到一个掩码中进行训练,或者为每个对象分开。如果重叠,则在合并期间,较小的面膜在较大面罩的顶部被覆盖。 |
mask_ratio |
int |
4 |
分割面罩的下样本比,影响训练过程中使用的面膜的分辨率。 |
dropout |
float |
0.0 |
分类任务中正规化的辍学率,以防止训练过程中随机省略单位过度拟合。 |
val |
bool |
True |
在培训期间启用验证,允许在单独的数据集上定期评估模型性能。 |
plots |
bool |
False |
生成并保存培训和验证指标的图以及预测示例,从而为模型性能和学习进步提供了视觉见解。 |

浙公网安备 33010602011771号