1
0
Fork 0
forked from lthn/LEM
LEM/scripts/push_all_models.py
Athena f0e86b7433 Add regional seeds, expansion rounds, scripts, HF cards, benchmark summary
- seeds/regional/: 1,223 cultural/regional seed files across 50+ regions
- seeds/expansions/: 8 expansion rounds (r1-r8) with raw text and JSON
- seeds/lem-{africa,cn,de,en,eu,me}-all-seeds.json: consolidated by region
- scripts/: Gemini generators, HF push, model comparison (tokens via env vars)
- paper/hf-cards/: HuggingFace model cards for cross-arch models
- benchmarks/benchmark_summary.json: processed PTSD summary data

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 13:39:08 +00:00

81 lines
2.3 KiB
Python

#!/usr/bin/env python3
"""Push all remaining LEM models to HuggingFace."""
import warnings
warnings.filterwarnings("ignore")
from huggingface_hub import HfApi
import os, shutil
HF_TOKEN = os.environ.get("HF_TOKEN")
api = HfApi(token=HF_TOKEN)
MODELS = [
{
"name": "LEM-Llama-3.1-8B",
"local": "/Volumes/Data/lem/LEM-llama-3.1-8b",
"repo": "lthn/LEM-Llama-3.1-8B",
"card": "/tmp/lem-hf-cards/LEM-Llama-3.1-8B-README.md",
},
{
"name": "LEM-Qwen-2.5-7B",
"local": "/Volumes/Data/lem/LEM-qwen-2.5-7b",
"repo": "lthn/LEM-Qwen-2.5-7B",
"card": "/tmp/lem-hf-cards/LEM-Qwen-2.5-7B-README.md",
},
{
"name": "LEM-Mistral-7B-v0.3",
"local": "/Volumes/Data/lem/LEM-mistral-7b-v0.3",
"repo": "lthn/LEM-Mistral-7B-v0.3",
"card": "/tmp/lem-hf-cards/LEM-Mistral-7B-v0.3-README.md",
},
{
"name": "LEM-Gemma3-12B",
"local": "/Volumes/Data/lem/LEM-Gemma3-12B",
"repo": "lthn/LEM-Gemma3-12B",
"card": "/tmp/lem-hf-cards/LEM-Gemma3-12B-README.md",
},
{
"name": "LEM-Gemma3-4B",
"local": "/Volumes/Data/lem/LEM-Gemma3-4B",
"repo": "lthn/LEM-Gemma3-4B",
"card": "/tmp/lem-hf-cards/LEM-Gemma3-4B-README.md",
},
]
for cfg in MODELS:
local = cfg["local"]
repo = cfg["repo"]
name = cfg["name"]
card = cfg["card"]
if not os.path.exists(local):
print(f"SKIP {name}: {local} not found")
continue
# Copy README
if os.path.exists(card):
shutil.copy(card, os.path.join(local, "README.md"))
print(f"Copied model card for {name}")
sz = sum(os.path.getsize(os.path.join(local, f)) for f in os.listdir(local) if os.path.isfile(os.path.join(local, f)))
print(f"\n{'='*60}")
print(f"Uploading {name}{repo} ({sz/1e9:.1f}GB)")
print(f"{'='*60}")
try:
api.create_repo(repo_id=repo, repo_type="model", exist_ok=True)
print(f"Repo {repo} ready")
api.upload_folder(
folder_path=local,
repo_id=repo,
repo_type="model",
commit_message=f"{name}: LEK-1 LoRA fine-tune (EUPL-1.2)",
)
print(f"DONE: https://huggingface.co/{repo}")
except Exception as e:
print(f"ERROR uploading {name}: {e}")
print(f"\n{'='*60}")
print("ALL UPLOADS COMPLETE")
print(f"{'='*60}")