Download scripts/prepare_submit.py from KCBtheone/SplatAtlas: direct link, hf CLI and curl.
- Browser
- Download file 1.51 kB
-
https://huggingface.co/KCBtheone/SplatAtlas/resolve/main/scripts/prepare_submit.py
- Command line
-
hf download hf://KCBtheone/SplatAtlas/scripts/prepare_submit.py
-
curl -L -o prepare_submit.py https://huggingface.co/KCBtheone/SplatAtlas/resolve/main/scripts/prepare_submit.py
1.51 kB
| import os | |
| import zipfile | |
| import argparse | |
| import json | |
| def parse_args(): | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--method", type=str, required=True) | |
| parser.add_argument("--output_dir", type=str, default="outputs") | |
| parser.add_argument("--zip_name", type=str, default=None) | |
| return parser.parse_args() | |
| def main(): | |
| args = parse_args() | |
| zip_name = args.zip_name if args.zip_name else f"submission_{args.method}.zip" | |
| target_dirs = [d for d in os.listdir(args.output_dir) if d.startswith(f"{args.method}_")] | |
| if not target_dirs: | |
| print(f"Error: No outputs found for method {args.method}") | |
| return | |
| with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf: | |
| for d in target_dirs: | |
| base_path = os.path.join(args.output_dir, d) | |
| metrics_path = os.path.join(base_path, "metrics.json") | |
| if os.path.exists(metrics_path): | |
| zipf.write(metrics_path, arcname=os.path.join(d, "metrics.json")) | |
| renders_path = os.path.join(base_path, "renders") | |
| if os.path.exists(renders_path): | |
| for img in os.listdir(renders_path): | |
| if img.endswith(".png"): | |
| img_path = os.path.join(renders_path, img) | |
| zipf.write(img_path, arcname=os.path.join(d, "renders", img)) | |
| print(f"Submission package generated: {zip_name}") | |
| if __name__ == "__main__": | |
| main() | |