AutoTrain 文档

目标检测

您正在查看 main 版本,该版本需要从源代码安装。如果您想要常规 pip 安装,请查看最新的稳定版本 (v0.8.24)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

目标检测

目标检测是一种监督学习形式,其中模型经过训练以识别和分类图像中的对象。 AutoTrain 简化了此过程,使您只需上传标记的示例图像即可训练最先进的目标检测模型。

准备您的数据

为确保您的目标检测模型有效训练,请遵循以下准备数据指南

组织图像

准备一个包含图像和 metadata.jsonl 的 zip 文件。

Archive.zip
├── 0001.png
├── 0002.png
├── 0003.png
├── .
├── .
├── .
└── metadata.jsonl

metadata.jsonl 的示例

{"file_name": "0001.png", "objects": {"bbox": [[302.0, 109.0, 73.0, 52.0]], "category": [0]}}
{"file_name": "0002.png", "objects": {"bbox": [[810.0, 100.0, 57.0, 28.0]], "category": [1]}}
{"file_name": "0003.png", "objects": {"bbox": [[160.0, 31.0, 248.0, 616.0], [741.0, 68.0, 202.0, 401.0]], "category": [2, 2]}}

请注意,bboxes 需要采用 COCO 格式 [x, y, width, height]

图像要求

  • 格式:确保所有图像均为 JPEG、JPG 或 PNG 格式。

  • 数量:至少包含 5 张图像,以便为模型提供足够的学习示例。

  • 独占性:zip 文件应仅包含图像和 metadata.jsonl。不应包含其他文件或嵌套文件夹。

需要记住的一些要点

  • 图像必须是 jpeg、jpg 或 png 格式。
  • 每个拆分应至少有 5 张图像。
  • zip 文件中不得有任何其他文件。
  • zip 文件夹内不得有任何其他文件夹。

当 train.zip 解压缩时,它不会创建文件夹:只有图像和 metadata.jsonl。

参数

class autotrain.trainers.object_detection.params.ObjectDetectionParams

< >

( data_path: str = None model: str = 'google/vit-base-patch16-224' username: typing.Optional[str] = None lr: float = 5e-05 epochs: int = 3 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' image_column: str = 'image' objects_column: str = 'objects' log: str = 'none' image_square_size: typing.Optional[int] = 600 early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 要使用的模型名称。默认为 “google/vit-base-patch16-224”。
  • username (Optional[str]) — Hugging Face 用户名。
  • lr (float) — 学习率。默认为 5e-5。
  • epochs (int) — 训练 epoch 数。默认为 3。
  • batch_size (int) — 训练批次大小。默认为 8。
  • warmup_ratio (float) — 预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 “adamw_torch”。
  • scheduler (str) — 要使用的调度器。默认为 “linear”。
  • weight_decay (float) — 权重衰减。默认为 0.0。
  • max_grad_norm (float) — 最大梯度范数。默认为 1.0。
  • seed (int) — 随机种子。默认为 42。
  • train_split (str) — 训练数据拆分的名称。默认为 “train”。
  • valid_split (Optional[str]) — 验证数据拆分的名称。
  • logging_steps (int) — 日志记录步数之间的间隔。默认为 -1。
  • project_name (str) — 输出目录的项目名称。默认为 “project-name”。
  • auto_find_batch_size (bool) — 是否自动查找批大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度类型(fp16、bf16 或 None)。
  • save_total_limit (int) — 要保存的检查点总数。默认为 1。
  • token (Optional[str]) — 用于身份验证的 Hub Token。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 评估策略。默认为 “epoch”。
  • image_column (str) — 数据集中图像列的名称。默认为 “image”。
  • objects_column (str) — 数据集中目标列的名称。默认为 “objects”。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 “none”。
  • image_square_size (Optional[int]) — 图像将被调整到的最长边尺寸,然后填充为正方形。默认为 600。
  • early_stopping_patience (int) — 训练停止前,容忍多少个epoch没有改进。默认为 5。
  • early_stopping_threshold (float) — 作为改进的最小变化量。默认为 0.01。

ObjectDetectionParams 是用于目标检测训练参数的配置类。

< > 在 GitHub 上更新