Files
ModelTrainEval/utils/labels.py
T
Shaun ZhouandClaude Opus 5 f4eff8beee feat(utils): 配置继承、注册表、日志与 Nvidia GPU 守卫
- config: yaml `_base_` 继承 + 深度合并 + 命令行 `--set a.b.c=value` 覆盖,检测循环引用
- registry: 组件按名注册与构建,模型/数据集共用
- device: require_cuda() 守卫,按 CLAUDE.md 约定禁止在无 Nvidia GPU 的设备上训练;
  评估与导出走 resolve_device() 允许 CPU
- labels: multilabel / multiclass 两种图像级标签形式的共用定义
- logging / seed: 控制台+文件日志、随机种子与 cudnn 确定性

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

14 lines
433 B
Python

"""图像级标签形式的共用定义(模型与数据集都要用到,放这里避免互相 import)。"""
from __future__ import annotations
MULTILABEL = "multilabel"
MULTICLASS = "multiclass"
LABEL_MODES = (MULTILABEL, MULTICLASS)
def check_label_mode(label_mode: str) -> str:
if label_mode not in LABEL_MODES:
raise ValueError(f"未知 label_mode: {label_mode},可选 {LABEL_MODES}")
return label_mode