ldov
/

File size: 1,558 Bytes
e46c127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python
"""Publish checkpoints / model card / results to the HF Hub repo. Token from HF_TOKEN env (never written to disk here).
    HF_TOKEN=... python hf_publish.py --repo AlexWortega/openjev --ckpt ckpt/qwen3.5-4b-nli --subdir qwen3.5-4b-nli
    HF_TOKEN=... python hf_publish.py --repo AlexWortega/openjev --files README.md results/*.json results/*.mp4 assets/*.png
"""
import argparse, glob, os
from huggingface_hub import HfApi

ap = argparse.ArgumentParser()
ap.add_argument("--repo", default="AlexWortega/openjev")
ap.add_argument("--ckpt", default=None)
ap.add_argument("--subdir", default=None, help="path in repo for the checkpoint (default: root)")
ap.add_argument("--files", nargs="*", default=[])
ap.add_argument("--dest", default="", help="repo folder for --files")
args = ap.parse_args()
api = HfApi(token=os.environ["HF_TOKEN"])
api.create_repo(args.repo, repo_type="model", exist_ok=True)
if args.ckpt:
    api.upload_folder(folder_path=args.ckpt, repo_id=args.repo, path_in_repo=args.subdir or "", repo_type="model",
                      ignore_patterns=["*_trainer/*", "checkpoint-*"], commit_message=f"upload {os.path.basename(args.ckpt)}")
    print("uploaded", args.ckpt)
for pat in args.files:
    for f in glob.glob(pat):
        api.upload_file(path_or_fileobj=f, path_in_repo=os.path.join(args.dest, os.path.basename(f)) if args.dest else os.path.basename(f) if not f.startswith("results/") else f,
                        repo_id=args.repo, repo_type="model", commit_message=f"add {f}")
        print("uploaded", f)