| from huggingface_hub import HfApi |
| import os |
| from dotenv import load_dotenv |
|
|
| |
| load_dotenv() |
|
|
| |
| hf_access_token = os.getenv("HUGGINGFACE_API_KEY") |
| print(hf_access_token) |
|
|
| |
| MODEL_PATH = "/Users/klu/ErasingDiffusionModels/models/" |
| hf_username = "kevinlu4588" |
|
|
| api = HfApi() |
|
|
| def is_repo_empty(repo_id): |
| try: |
| files = api.list_repo_files(repo_id) |
| return len(files) <= 2 |
| except Exception as e: |
| print(f"Error checking repository {repo_id}: {e}") |
| return True |
|
|
| def upload_model_folder(subfolder_path): |
| model_name = os.path.basename(subfolder_path) |
| repo_id = f"{hf_username}/{model_name}" |
| |
| |
| api.create_repo(repo_id, exist_ok=True, token=hf_access_token) |
| if is_repo_empty(repo_id): |
| print(f"Uploading {subfolder_path} to {repo_id}...") |
| api.upload_folder(folder_path=subfolder_path, |
| repo_id=repo_id, |
| repo_type="model", |
| token=hf_access_token) |
| print(f"Successfully uploaded {subfolder_path} to {repo_id}.") |
| else: |
| print(f"Repository {repo_id} already contains files. Skipping upload.") |
|
|
| def main(): |
| for subfolder in os.listdir(MODEL_PATH): |
| subfolder_path = os.path.join(MODEL_PATH, subfolder) |
| if os.path.isdir(subfolder_path): |
| upload_model_folder(subfolder_path) |
|
|
| if __name__ == "__main__": |
| main() |
|
|