capser54's picture
Upload Gomoku MaskablePPO stage3_h6 release
3799788 verified
Raw History Blame Contribute Delete
1.83 kB
from __future__ import annotations
import argparse
import os
from pathlib import Path
from huggingface_hub import create_repo, get_token, upload_folder, whoami
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Upload the prepared release folder to Hugging Face.")
parser.add_argument("--repo-id", default=None, help="Target repo id. Defaults to <your-username>/gomoku-maskable-ppo-stage3-h6.")
parser.add_argument("--token", default=None, help="HF token. Falls back to cached login or HF_TOKEN/HUGGINGFACE_HUB_TOKEN.")
parser.add_argument("--private", action="store_true", help="Create/upload as a private model repo.")
parser.add_argument("--commit-message", default="Upload Gomoku MaskablePPO stage3_h6 release")
return parser.parse_args()
def main() -> None:
args = parse_args()
token = args.token or os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_HUB_TOKEN") or get_token()
if not token:
raise SystemExit(
"No Hugging Face token found. Set HF_TOKEN/HUGGINGFACE_HUB_TOKEN, "
"pass --token, or login with huggingface_hub.login()."
)
repo_id = args.repo_id
if not repo_id:
user = whoami(token)["name"]
repo_id = f"{user}/gomoku-maskable-ppo-stage3-h6"
folder = Path(__file__).resolve().parent
create_repo(repo_id=repo_id, token=token, repo_type="model", private=args.private, exist_ok=True)
upload_folder(
repo_id=repo_id,
folder_path=str(folder),
token=token,
repo_type="model",
commit_message=args.commit_message,
ignore_patterns=["__pycache__", "*.pyc"],
)
print(f"Upload complete: https://huggingface.co/{repo_id}")
if __name__ == "__main__":
main()