界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

training

training

【效率与协作】Guides YOLOP training, validation, evaluation metrics, staged multitask flags, checkpoints, auto-anchor behavior, and training smoke diagnostics.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: training description: "Guides YOLOP training, validation, evaluation metrics, staged multitask flags, checkpoints, auto-anchor behavior, and training smoke diagnostics." disable-model-invocation: true metadata: disco-role: operating license: MIT

YOLOP Training and Evaluation

Use this sub-skill when the task asks to train YOLOP, run validation/evaluation, change end-to-end versus staged/single-task modes, diagnose tools/train.py or tools/test.py, reason about MultiHeadLoss, configure auto-anchor, or interpret YOLOP detection/segmentation metrics.

Do not use this sub-skill for only preparing data roots (use data-preparation), running demo inference (use inference), or exporting ONNX/TensorRT artifacts (use export).

Read first

  • references/workflows.md gives the source training and evaluation command shapes, config fields, checkpoint behavior, and staged/single-task modes.
  • references/evaluation.md explains validation outputs, detection metrics, segmentation metrics, and visualization side effects.
  • references/troubleshooting.md covers data/config errors, torch-version loss issues, GPU/DDP pitfalls, batch size problems, and auto-anchor failures.
  • Run scripts/train_smoke.py before expensive training to verify imports, model construction, forward shapes, and optionally expose loss-version incompatibilities on a tiny tensor.

Minimal workflow

  1. Validate BDD100K roots and masks with the data-preparation sub-skill.
  2. Edit or patch lib.config.cfg values for dataset roots, image size, batch sizes, workers, training mode flags, pretrained checkpoint paths, and LOG_DIR.
  3. Run a CPU or CUDA model smoke:
python sub-skills/training/scripts/train_smoke.py --repo-root /path/to/YOLOP --device cpu --image-size 128
  1. Start training from the YOLOP checkout root:
PYTHONPATH=. python tools/train.py
  1. For distributed training, only after a compatible CUDA torch/torchvision stack is installed and dataset/batch settings are ready:
PYTHONPATH=. python -m torch.distributed.launch --nproc_per_node=N tools/train.py
  1. Evaluate a checkpoint:
PYTHONPATH=. python tools/test.py --weights weights/End-to-end.pth

Important decisions

  • All staged/single-task flags false means end-to-end multitask training.
  • TRAIN.SEG_ONLY, DET_ONLY, ENC_SEG_ONLY, ENC_DET_ONLY, DRIVABLE_ONLY, and LANE_ONLY change both parameter freezing and loss components.
  • NEED_AUTOANCHOR=True is not a cheap smoke check; it runs k-means/evolution over the training labels.
  • tools/train.py and tools/test.py use the yacs config more than their parser suggests; several parsed arguments are not applied by update_config in the current source.
  • CPU smokes validate code shape, but full training and reported paper/README metrics require real BDD100K data and practical GPU runtime.

Cross-links

我的收藏