gunpla-studio / setup.py
hw391's picture
Deploy Gunpla Studio to Hugging Face Spaces
4836978
Raw
History Blame Contribute Delete
1.35 kB
"""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()