FallKLTN / scripts /run_all.py
minhy112's picture
Upload fall detection code, trained models, and repeated experiments
9313a90 verified
Raw History Blame Contribute Delete
1.48 kB
#!/usr/bin/env python3
from __future__ import annotations
import argparse
import subprocess
import sys
from pathlib import Path
def run(command: list[str]) -> None:
print("\n$", " ".join(command), flush=True)
subprocess.run(command, check=True)
def main() -> None:
parser = argparse.ArgumentParser(description="Run the complete experiment")
parser.add_argument("--dataset", default="data/processed/urfd_pose.npz")
parser.add_argument("--config", default="configs/default.yaml")
parser.add_argument("--output", default="artifacts/experiments/urfd")
parser.add_argument("--seed", type=int)
parser.add_argument("--device", choices=["auto", "cpu", "cuda"], default="auto")
args = parser.parse_args()
python = sys.executable
dataset = args.dataset
output = args.output
if not Path(dataset).exists():
run([python, "scripts/download_urfd.py"])
run([python, "scripts/prepare_dataset.py", "--config", args.config, "--output", dataset])
common = ["--dataset", dataset, "--config", args.config, "--output", output]
if args.seed is not None:
common.extend(["--seed", str(args.seed)])
run([python, "scripts/train_baselines.py", *common])
run([python, "scripts/train_gru.py", *common, "--device", args.device])
run([python, "scripts/train_tcn.py", *common, "--device", args.device])
run([python, "scripts/compare_models.py", "--input", output])
if __name__ == "__main__":
main()