kkthn.training
- class kkthn.training.KKTTrainConfig(epochs: 'int' = 1200, batch_size: 'int' = 32, learning_rate: 'float' = 0.001, train_frac: 'float' = 0.8, hidden_size: 'int' = 64, hidden_layers: 'int' = 2, seed: 'int' = 42, dtype: 'str' = 'float64', print_every: 'int' = 1, drop_last: 'bool' = False, eta: 'float | None' = None, epoch_mlp: 'int | None' = None, cons_alpha: 'float' = 0.0, projection: 'ProjectionSettings' = ProjectionSettings(fb_eps=1e-08, gn_max_iters=30, gn_tol=1e-06, gn_reg=0.001, newton_step_length=0.5, armijo_alpha=0.0001, armijo_beta=0.5, max_backtrack_iter=10, armijo_max_steps=10, backward_reg=1e-08))[source]
Bases:
object- epochs: int = 1200
- batch_size: int = 32
- learning_rate: float = 0.001
- train_frac: float = 0.8
- seed: int = 42
- dtype: str = 'float64'
- print_every: int = 1
- drop_last: bool = False
- eta: float | None = None
- epoch_mlp: int | None = None
- cons_alpha: float = 0.0
- projection: ProjectionSettings = ProjectionSettings(fb_eps=1e-08, gn_max_iters=30, gn_tol=1e-06, gn_reg=0.001, newton_step_length=0.5, armijo_alpha=0.0001, armijo_beta=0.5, max_backtrack_iter=10, armijo_max_steps=10, backward_reg=1e-08)
- kkthn.training.train_kkt_hardnet(*, model, X: ndarray, Y: ndarray | None, cfg: KKTTrainConfig, param_name: str = 'x', output_dir: Path | None = None, metadata: dict[str, Any] | None = None, inverse_param_init: ndarray | None = None, inverse_param_labels: ndarray | None = None, inverse_param_names: list[str] | None = None, task: str = 'surrogate') dict[str, Any][source]