Spaces:
Runtime error
Runtime error
| import os | |
| import subprocess | |
| from huggingface_hub import HfApi, HfFolder, upload_folder | |
| # === Configuración === | |
| HF_MODEL_ID = "tu_usuario/xtts-v2-finetuned" # <--- cambia con tu repo en HF | |
| HF_TOKEN = os.environ.get("HF_TOKEN") # Debe estar definido en tu Space/entorno | |
| DATASET_PATH = "/home/user/app/dataset" # Ruta a tu dataset | |
| OUTPUT_PATH = "/tmp/output_model" | |
| BASE_MODEL = "coqui/XTTS-v2" | |
| # === 1. Descargar modelo base de HF === | |
| print("=== Descargando modelo base desde Hugging Face ===") | |
| subprocess.run([ | |
| "huggingface-cli", "download", BASE_MODEL, "--local-dir", "./xtts_model" | |
| ], check=True) | |
| CONFIG_PATH = "./xtts_model/config.json" | |
| RESTORE_PATH = "./xtts_model/model.pth" | |
| # === 2. Editar configuración para tu dataset VoxPopuli === | |
| print("=== Editando configuración para fine-tuning con VoxPopuli ===") | |
| import json | |
| with open(CONFIG_PATH, "r") as f: | |
| config = json.load(f) | |
| config["output_path"] = OUTPUT_PATH | |
| config["datasets"] = [ | |
| { | |
| "formatter": "voxpopuli", | |
| "path": DATASET_PATH, | |
| "meta_file_train": "metadata.json" | |
| } | |
| ] | |
| config["run_name"] = "xtts-finetune-voxpopuli" | |
| config["lr"] = 1e-5 # más bajo para fine-tuning | |
| with open(CONFIG_PATH, "w") as f: | |
| json.dump(config, f, indent=2) | |
| # === 3. Lanzar entrenamiento === | |
| print("=== Iniciando fine-tuning de XTTS-v2 ===") | |
| subprocess.run([ | |
| "python", "TTS/bin/train_tts.py", | |
| "--config_path", CONFIG_PATH, | |
| "--restore_path", RESTORE_PATH | |
| ], check=True) | |
| # === 4. Subir modelo resultante a HF === | |
| print("=== Subiendo modelo fine-tuneado a Hugging Face Hub ===") | |
| api = HfApi() | |
| HfFolder.save_token(HF_TOKEN) | |
| upload_folder( | |
| repo_id=HF_MODEL_ID, | |
| repo_type="model", | |
| folder_path=OUTPUT_PATH, | |
| token=HF_TOKEN | |
| ) | |
| print("✅ Fine-tuning completado y modelo subido a Hugging Face.") | |