DaJulster's picture
Upload folder using huggingface_hub
e317cf2 verified
from pathlib import Path
import os
from huggingface_hub import HfApi
api = HfApi()
# Replace with your desired repo name, e.g., "username/ai-detector-v1"
repo_id = "DaJulster/SuaveAI-Dectection-Multitask-Model-V1"
required_files = [
"multitask_model.pth",
"label_encoder.pkl",
"README.md",
]
missing = [file_name for file_name in required_files if not Path(file_name).exists()]
if missing:
raise FileNotFoundError(f"Missing required files: {', '.join(missing)}")
# 1. Create the repository on the Hub (if it doesn't exist)
api.create_repo(repo_id=repo_id, repo_type="model", exist_ok=True)
# 2. Generate HF-compatible artifacts from existing checkpoint (optional)
skip_prepare = os.environ.get("SKIP_HF_PREPARE", "0") == "1"
if not skip_prepare:
from prepare_hf_artifacts_light import main as prepare_hf_artifacts
prepare_hf_artifacts()
else:
print("Skipping HF artifact generation (SKIP_HF_PREPARE=1)")
# 3. Upload all local artifacts (model card + model files)
api.upload_folder(
folder_path=".",
repo_id=repo_id,
repo_type="model",
ignore_patterns=[
"*.pyc",
"__pycache__/*",
".git/*",
"*.ipynb",
"venv/*",
"tok.txt",
],
)
print(f"Model pushed successfully to: https://huggingface.co/{repo_id}")