Spaces:
Running
Running
| """Convenience setup runner for Gunpla Studio. | |
| This is a project execution script (get data, build features, train model) | |
| """ | |
| import argparse | |
| import subprocess | |
| from pathlib import Path | |
| PROJECT_DIRS = [ | |
| "models", | |
| "data/raw", | |
| "data/processed", | |
| "data/outputs", | |
| "notebooks", | |
| ] | |
| def ensure_dirs() -> None: | |
| for directory in PROJECT_DIRS: | |
| Path(directory).mkdir(parents=True, exist_ok=True) | |
| def run(command: list[str]) -> None: | |
| print("Running:", " ".join(command)) | |
| subprocess.run(command, check=True) | |
| def main() -> None: | |
| parser = argparse.ArgumentParser(description="Set up Gunpla Studio.") | |
| parser.add_argument("--zip-path", type=Path, help="Optional dataset ZIP to extract.") | |
| parser.add_argument("--train", action="store_true", help="Run training after setup.") | |
| parser.add_argument("--data", default="data/processed/gunpla_seg/data.yaml", help="YOLO data.yaml path.") | |
| args = parser.parse_args() | |
| ensure_dirs() | |
| if args.zip_path: | |
| run(["python", "scripts/make_dataset.py", "--zip-path", str(args.zip_path)]) | |
| run(["python", "scripts/build_features.py", "--data-dir", "data/processed/gunpla_seg"]) | |
| if args.train: | |
| run(["python", "scripts/train_model.py", "--data", args.data]) | |
| print("Gunpla Studio setup complete.") | |
| if __name__ == "__main__": | |
| main() | |