Files
ModelTrainEval/configs/dataset/film_defect.yaml
T
Shaun ZhouandClaude Opus 5 b0d0dfffbb feat: 训练与评估入口及 yaml 配置
- train.py: 先过 require_cuda() 守卫再建模型/数据,支持 --resume 与 --set 覆盖
- eval.py: 允许 CPU,输出定位与分类指标并可写 json
- configs: model/dataset/train/eval 四类,通过 `_base_` 组合;
  classes 既可直接写列表,也可指向 YOLO data.yaml 由框架读 names

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-02 17:55:20 +08:00

52 lines
1.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 薄膜缺陷数据集(YOLO 风格标注:labels/*.txt,每行 `class_id cx cy w h`,归一化坐标)。
# 类别顺序即标注里的 class_id,改动顺序等于改变标签含义,必须重新训练。
# 也可以写成 data.yaml 的路径,从其中的 names 读类别:classes: data/film/data.yaml
classes: [scratch, bubble, particle, crease, stain]
# 图像级标签形式;模型的分类头、分类损失、分类指标都跟随它。
# multilabel(多类):一张图可同时含多种缺陷,多热标签 + BCE,全 0 表示 OK 片;
# multiclass(单类):一张图只归一个类别,互斥 softmax + CE,
# 分类头多一维表示"无缺陷"(下标 = len(classes)),
# 一图出现多种缺陷时取框数最多的类别。
# 无论取哪种,定位分支始终按 classes 逐类输出 heatmap。
label_mode: multilabel
image_size: [512, 512]
gray: false
data:
train:
dataset:
name: film_defect
img_dir: data/film/images/train
label_dir: null # 缺省按 YOLO 约定取 data/film/labels/train
gray: false
max_objects: 64
transforms:
- {name: Resize, size: [512, 512]}
- {name: RandomHorizontalFlip, p: 0.5}
- {name: RandomVerticalFlip, p: 0.5}
- {name: ColorJitter, brightness: 0.2, contrast: 0.2}
- {name: ToTensor}
- {name: Normalize, mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225]}
loader:
batch_size: 16
shuffle: true
num_workers: 8
drop_last: true
val:
dataset:
name: film_defect
img_dir: data/film/images/val
label_dir: null
gray: false
transforms:
- {name: Resize, size: [512, 512]}
- {name: ToTensor}
- {name: Normalize, mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225]}
loader:
batch_size: 16
shuffle: false
num_workers: 4