| | from huggingface_hub import HfApi, upload_folder, hf_hub_download |
| | import os |
| | root = os.getcwd() |
| | with open('hf_token.txt') as f: |
| | token = f.read().strip() |
| | api = HfApi() |
| | who = api.whoami(token=token) |
| | username = who.get('name') or who.get('login') |
| | repo_name = 'MyAwesomeModel-CleanupRelease' |
| | repo_id = f"{username}/{repo_name}" |
| |
|
| | |
| | api.create_repo(repo_id=repo_id, token=token, exist_ok=True) |
| | print('Repo ready:', repo_id) |
| |
|
| | |
| | try: |
| | upload_folder(repo_id=repo_id, folder_path=root, path_in_repo='.', token=token, repo_type='model', ignore_patterns=['*.swp','hf_token.txt']) |
| | print('Upload completed') |
| | except Exception as e: |
| | print('Upload failed:', e) |
| |
|
| | |
| | files = api.list_repo_files(repo_id=repo_id, token=token) |
| | print('Repo files count:', len(files)) |
| | swp_files = [f for f in files if f.endswith('.swp')] |
| | print('.swp files in repo:', swp_files) |
| |
|
| | |
| | canon_path = os.path.join(root,'checkpoints','step_100','config.json') |
| | with open(canon_path,'rb') as f: |
| | canonical = f.read() |
| |
|
| | |
| | mismatches = [] |
| | for dirpath, dirnames, filenames in os.walk(os.path.join(root,'checkpoints')): |
| | for fn in filenames: |
| | if fn == 'config.json': |
| | local_p = os.path.join(dirpath, fn) |
| | rel = os.path.relpath(local_p, root) |
| | try: |
| | dl = hf_hub_download(repo_id=repo_id, filename=rel, token=token, repo_type='model') |
| | except Exception as e: |
| | mismatches.append((rel, 'download_error', str(e))) |
| | continue |
| | with open(dl,'rb') as f: |
| | b = f.read() |
| | if b != canonical: |
| | mismatches.append((rel, 'byte_mismatch', len(b))) |
| |
|
| | print('mismatches after upload:', mismatches) |
| |
|