一、Dataloader数据读取流程
mermaid
graph TB
A[初始化Dataloader] --> B[迭代获取batch]
B --> C[数据预处理]
C --> D[传输至GPU]
D --> E[模型输入]
二、核心代码实现
1. 基础数据读取(YOLOv8内置方式)
python
from ultralytics import YOLO
# 加载模型和数据集配置
model = YOLO("yolov8s.pt")
dataloader = model.val_loader # 获取验证集dataloader
# 取一个batch的数据
for batch in dataloader:
images = batch["img"] # 图像Tensor [B,3,H,W]
targets = batch["bbox"] # 标注信息 [B,N,5] (xywh+class)
paths = batch["im_file"] # 图像路径
# 示例:打印第一个样本信息
print(f"图像形状: {images[0].shape}")
print(f"标注数量: {len(targets[0])}")
break # 仅演示第一个batch