BayesOptGPT / scripts /tune.py
BlackWizardX11's picture
Redeploying backend
2d3dd8e verified
Raw
History Blame Contribute Delete
1.94 kB
from __future__ import annotations
import argparse
from pathlib import Path
from bayes_gp_llmops.tuning.optuna_runner import run_optuna_study
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(
description="Run Optuna hyperparameter tuning for the AG News classifier."
)
parser.add_argument("--data-config", type=Path, default=Path("configs/data.yaml"))
parser.add_argument("--model-config", type=Path, default=Path("configs/model.yaml"))
parser.add_argument("--train-config", type=Path, default=Path("configs/train.yaml"))
parser.add_argument("--tune-config", type=Path, default=Path("configs/tune.yaml"))
parser.add_argument("--device", type=str, default=None)
parser.add_argument("--n-trials", type=int, default=None)
parser.add_argument("--timeout", type=int, default=None)
parser.add_argument("--debug", action="store_true")
return parser.parse_args()
def main() -> int:
args = parse_args()
artifacts = run_optuna_study(
data_config_path=args.data_config,
model_config_path=args.model_config,
train_config_path=args.train_config,
tune_config_path=args.tune_config,
device_override=args.device,
n_trials_override=args.n_trials,
timeout_override=args.timeout,
debug_override=True if args.debug else None,
)
print(f"study_storage={artifacts.storage_path}")
print(f"study_output_dir={artifacts.output_dir}")
print(f"best_trial_number={artifacts.best_trial_number}")
print(f"best_value={artifacts.best_value:.6f}")
print(f"best_params={artifacts.best_params}")
print(f"best_params_path={artifacts.best_params_path}")
print(f"trial_results_path={artifacts.trial_results_path}")
print(f"study_summary_path={artifacts.study_summary_path}")
return 0
if __name__ == "__main__":
raise SystemExit(main())