feat: pre-flight filter of untrainable task types before gate
This commit is contained in:
@@ -60,6 +60,7 @@ class RunConfig:
|
||||
batch_size: mini-batch 单批题目数。
|
||||
min_class_per_batch: 单批中每个任务类型至少保留的题目数(< batch_size)。
|
||||
eval_min_per_class: 验证池中每个任务类型至少保底的题目数。
|
||||
trainable_min_units: 可训练性预检:每题型 diag+val 单元数下限,低于则剔除该题型。
|
||||
early_stop_patience: 全局 best 连续未提升的容忍轮数,达到即早停。
|
||||
test_size: held-out 测试池题目数。
|
||||
use_slow_momentum: 是否启用快慢双速进化中的慢速 momentum 更新。
|
||||
@@ -114,6 +115,7 @@ class RunConfig:
|
||||
batch_size: int
|
||||
min_class_per_batch: int
|
||||
eval_min_per_class: int
|
||||
trainable_min_units: int
|
||||
early_stop_patience: int
|
||||
test_size: int
|
||||
use_slow_momentum: bool
|
||||
@@ -297,6 +299,8 @@ def _validate_minibatch(config: RunConfig) -> None:
|
||||
)
|
||||
if config.eval_min_per_class < 1:
|
||||
raise ValueError(f"eval_min_per_class 必须 >= 1,实际: {config.eval_min_per_class}")
|
||||
if config.trainable_min_units < 1:
|
||||
raise ValueError(f"trainable_min_units 必须 >= 1,实际: {config.trainable_min_units}")
|
||||
if config.pool_split_mode != "per_category":
|
||||
floor = config.eval_min_per_class * _VIDEO_MME_TASK_TYPE_COUNT
|
||||
if config.val_size < floor:
|
||||
|
||||
Reference in New Issue
Block a user