from huggingface_hub import HfApi import os from tqdm import tqdm def should_upload_file(filepath): """ Проверяет, нужно ли загружать данный файл. Игнорирует .git директорию и временные файлы. """ # Игнорируем .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-v3" # Ваш репозиторий upload_model_to_hf(local_path, repo_id)