|
from huggingface_hub import HfApi |
|
import os |
|
from tqdm import tqdm |
|
|
|
def should_upload_file(filepath): |
|
""" |
|
Проверяет, нужно ли загружать данный файл. |
|
Игнорирует .git директорию и временные файлы. |
|
""" |
|
|
|
if '.git' in filepath: |
|
return False |
|
|
|
if filepath.endswith('.tmp') or filepath.endswith('.temp'): |
|
return False |
|
return True |
|
|
|
def upload_model_to_hf(local_path, repo_id): |
|
""" |
|
Загружает файлы модели на Hugging Face Hub. |
|
""" |
|
try: |
|
api = HfApi() |
|
|
|
|
|
files_to_upload = [] |
|
print("Сканирование файлов...") |
|
for root, _, files in os.walk(local_path): |
|
for file in files: |
|
file_path = os.path.join(root, file) |
|
|
|
if not should_upload_file(file_path): |
|
continue |
|
relative_path = os.path.relpath(file_path, local_path) |
|
files_to_upload.append((file_path, relative_path)) |
|
|
|
print(f"Найдено файлов для загрузки: {len(files_to_upload)}") |
|
|
|
|
|
for file_path, relative_path in tqdm(files_to_upload, desc="Загрузка файлов"): |
|
try: |
|
api.upload_file( |
|
path_or_fileobj=file_path, |
|
path_in_repo=relative_path, |
|
repo_id=repo_id, |
|
commit_message=f"Upload model file: {relative_path}" |
|
) |
|
except Exception as e: |
|
print(f"\nОшибка при загрузке {relative_path}: {str(e)}") |
|
|
|
print("\nЗагрузка завершена успешно!") |
|
print(f"Проверьте файлы по адресу: https://huggingface.co/{repo_id}") |
|
|
|
except Exception as e: |
|
print(f"Произошла ошибка: {str(e)}") |
|
|
|
if __name__ == "__main__": |
|
local_path = "." |
|
repo_id = "eeeebbb2/empathetic-speech-v2" |
|
upload_model_to_hf(local_path, repo_id) |
|
|