File size: 2,483 Bytes
3116e64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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-v4"  # Ваш репозиторий
    upload_model_to_hf(local_path, repo_id)