import os def upload_to_hf(model_dir, repo_id, token=None, private=True): """Upload a saved model directory to Hugging Face Hub.""" try: from huggingface_hub import HfApi, create_repo, upload_folder except ImportError: print("Error: 'huggingface_hub' package is not installed.") print("Please install it with: pip install huggingface_hub") return api = HfApi(token=token) print(f"Creating/Checking repo: {repo_id}") create_repo(repo_id, token=token, private=private, exist_ok=True) print(f"Uploading files from {model_dir} to {repo_id}...") upload_folder( folder_path=model_dir, repo_id=repo_id, commit_message="Initial LatentRoute model upload", token=token ) print("Upload complete!") if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument("--model_dir", type=str, required=True, help="Directory containing config.json and pytorch_model.bin") parser.add_argument("--repo_id", type=str, required=True, help="HF repo ID (e.g., 'username/my-latentroute-model')") parser.add_argument("--token", type=str, help="HF API token (optional if already logged in)") parser.add_argument("--public", action="store_true", help="Make repo public") args = parser.parse_args() upload_to_hf(args.model_dir, args.repo_id, token=args.token, private=not args.public)