Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| import argparse | |
| from pathlib import Path | |
| from bayes_gp_llmops.training.pipeline import run_training_pipeline | |
| def parse_args() -> argparse.Namespace: | |
| parser = argparse.ArgumentParser(description="Train tiny LLaMA-style AG News classifier.") | |
| parser.add_argument( | |
| "--data-config", | |
| type=Path, | |
| default=Path("configs/data.yaml"), | |
| help="Path to data pipeline configuration.", | |
| ) | |
| parser.add_argument( | |
| "--model-config", | |
| type=Path, | |
| default=Path("configs/model.yaml"), | |
| help="Path to model configuration.", | |
| ) | |
| parser.add_argument( | |
| "--train-config", | |
| type=Path, | |
| default=Path("configs/train.yaml"), | |
| help="Path to training configuration.", | |
| ) | |
| parser.add_argument( | |
| "--device", | |
| type=str, | |
| default=None, | |
| help="Override device preference (auto, cpu, cuda).", | |
| ) | |
| parser.add_argument( | |
| "--debug", | |
| action="store_true", | |
| help="Run with reduced dataset and epoch limits for a quick debug run.", | |
| ) | |
| return parser.parse_args() | |
| def main() -> int: | |
| args = parse_args() | |
| artifacts = run_training_pipeline( | |
| data_config_path=args.data_config, | |
| model_config_path=args.model_config, | |
| train_config_path=args.train_config, | |
| device_override=args.device, | |
| debug_mode=args.debug, | |
| ) | |
| print(f"best_checkpoint={artifacts.best_checkpoint_path}") | |
| print(f"latest_checkpoint={artifacts.latest_checkpoint_path}") | |
| print(f"history_path={artifacts.history_path}") | |
| print(f"resolved_config_path={artifacts.resolved_config_path}") | |
| return 0 | |
| if __name__ == "__main__": | |
| raise SystemExit(main()) | |