File size: 1,074 Bytes
dc62233 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #!/usr/bin/env python3
"""Train Graph-Residual from a portable YAML configuration."""
import argparse
import sys
from pathlib import Path
import yaml
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT))
from src.training.training import train_job
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--config", type=Path, required=True)
args = parser.parse_args()
config = yaml.safe_load(args.config.read_text())
project_dir = Path(config["project_dir"].replace("PROJECT_ROOT", str(ROOT)))
out_dir = Path(config["out_dir"].replace("PROJECT_ROOT", str(ROOT)))
training = dict(config["training"])
training["lr"] = training.get("learning_rate", training.get("lr", 0.001))
training.pop("learning_rate", None)
train_job(
project_dir,
out_dir,
**training,
beta_init=config["model"]["beta_init"],
preserve_weight=config["loss"]["preserve_weight"],
residual_weight=config["loss"]["residual_weight"],
)
if __name__ == "__main__":
main()
|