new-human
feat: 支持真实CSV数据训练与模型推理闭环
0bb564a
from __future__ import annotations
from dataclasses import asdict, dataclass
from typing import Any, Dict, Optional
@dataclass(frozen=True)
class TrainConfig:
seed: int = 42
n_samples: int = 2000
n_features: int = 16
train_ratio: float = 0.8
epochs: int = 20
lr: float = 0.2
l2: float = 0.0
grad_clip: Optional[float] = None
loss_eps: float = 1e-12
report_top_k_features: int = 8
csv_path: Optional[str] = None
target_col: str = "target"
def to_dict(self) -> Dict[str, Any]:
return asdict(self)
@staticmethod
def from_dict(d: Dict[str, Any]) -> "TrainConfig":
return TrainConfig(**d)