refactor: prepare_label_studio.py 的内容改动(补上 a3e08a9 漏掉的部分)
a3e08a9 只提交了 git mv 的改名,内容修改因 git add 的路径报错没有进入暂存区。
本提交补上:
- 缺省输出 runs/<source>_label_studio/,不再写到 data/;该目录同时是 Label Studio
的 DOCUMENT_ROOT,打印的导入步骤里提醒复核期间不要删除或 --overwrite。
- 总是生成 tasks.json 与 labeling config,去掉 --label-studio 开关。
- 不再写 data.yaml:复核材料不是训练集,没有 data.yaml 就不会被误拿去训练,
原先"train 与 val 相同"的告警也随之移除(detect.py 里的同类告警保留)。
- detect.py、configs/detect/film.yaml、README 里对旧脚本的引用改为新流程。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
a3e08a9bbc
commit
891f930de2
@@ -5,7 +5,7 @@
|
||||
uv run python detect.py --config configs/detect/film.yaml --eval-only \
|
||||
--checkpoint runs/detect/film/weights/best.pt
|
||||
|
||||
数据是 scripts/prepare_yolo_dataset.py 的产物(train/val 已划分好)。
|
||||
数据是在 Label Studio 里修正过的标签,导出并划分 train/val 之后放在 data/ 下的数据集。
|
||||
框来自 Grad-CAM / SHAP 的弱监督标注,不是人工标注——指标该按"与热力区域的一致性"
|
||||
来读,而不是当成真值上的检测精度。
|
||||
"""
|
||||
@@ -64,13 +64,13 @@ def main() -> int:
|
||||
data_yaml = Path(cfg["data"]["yaml"])
|
||||
if not data_yaml.exists():
|
||||
logger.error(
|
||||
"找不到 %s;先跑 scripts/prepare_yolo_dataset.py 把 runs/ 下的产出链接到 data/", data_yaml
|
||||
"找不到 %s;先把 Label Studio 里修好的标签导出、划分 train/val 到 data/ 下", data_yaml
|
||||
)
|
||||
return 1
|
||||
meta = yaml.safe_load(data_yaml.read_text(encoding="utf-8"))
|
||||
logger.info("数据集: %s(%d 类)", data_yaml, meta["nc"])
|
||||
if meta.get("train") == meta.get("val"):
|
||||
# prepare_yolo_dataset.py / generate_boxes.py 的产出都不划分,两者指向同一目录
|
||||
# generate_boxes.py 的产出就不划分,两者指向同一目录
|
||||
logger.warning(
|
||||
"data.yaml 的 train 与 val 相同(%s):验证集就是训练集,mAP 会虚高,"
|
||||
"早停与 best.pt 的选择也因此失真。正式训练前请先划分数据集",
|
||||
|
||||
Reference in New Issue
Block a user