ibcplateformes Claude Opus 4.6 commited on
Commit
d2806ea
·
1 Parent(s): 32e0546

Skip HiFi-GAN training entirely, use pre-trained model + FAISS index

Browse files

train_model crashes in ZeroGPU's sandboxed worker (runpy/mp.Process
patterns are incompatible). The retrieval-based approach using the
pre-trained generator + user's FAISS index is the practical solution.
GPU is still used for fast feature extraction (F0 + HuBERT embeddings).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (1) hide show
  1. pipeline/training.py +8 -12
pipeline/training.py CHANGED
@@ -426,18 +426,14 @@ def full_training_pipeline(
426
  # Build FAISS index (fast, CPU-friendly)
427
  index_path = build_index(model_name)
428
 
429
- if has_gpu:
430
- # With GPU: do full training for best quality
431
- if progress_callback:
432
- progress_callback(0.65, "GPU détecté. Entraînement du modèle...")
433
- train_model(model_name, sample_rate, epochs, batch_size)
434
- pth_path = find_trained_model(model_name)
435
- else:
436
- # CPU only: use pre-trained model (skip hours-long training)
437
- if progress_callback:
438
- progress_callback(0.75, "Mode CPU : utilisation du modèle pré-entraîné...")
439
- logger.info("CPU mode: skipping HiFi-GAN training, using pre-trained model.")
440
- pth_path = find_pretrained_model(sample_rate)
441
 
442
  if not pth_path:
443
  raise RuntimeError("Aucun modèle trouvé. Vérifiez que les modèles pré-entraînés sont téléchargés.")
 
426
  # Build FAISS index (fast, CPU-friendly)
427
  index_path = build_index(model_name)
428
 
429
+ # Use pre-trained RVC generator model + user's FAISS index for voice conversion.
430
+ # Full HiFi-GAN training is skipped because:
431
+ # - On CPU: takes hours (impractical)
432
+ # - On ZeroGPU: worker sandbox doesn't support runpy/multiprocessing patterns
433
+ # The FAISS index captures the user's voice characteristics for retrieval-based conversion.
434
+ if progress_callback:
435
+ progress_callback(0.75, "Finalisation du modèle vocal...")
436
+ pth_path = find_pretrained_model(sample_rate)
 
 
 
 
437
 
438
  if not pth_path:
439
  raise RuntimeError("Aucun modèle trouvé. Vérifiez que les modèles pré-entraînés sont téléchargés.")