1
0
mirror of synced 2024-11-24 07:30:16 +01:00
Retrieval-based-Voice-Conve.../docs/tr/training_tips_tr.md
2023-08-27 22:04:13 +09:00

5.0 KiB
Raw Blame History

RVC Eğitimi için Talimatlar ve İpuçları

Bu TIPS, veri eğitiminin nasıl yapıldığınııklar.

Eğitim Süreci

Eğitim sekmesinde adımları takip ederek açıklayacağım.

Adım 1

Burada deney adını ayarlayın.

Ayrıca burada modelin pitch'i dikkate alıp almayacağını da belirtebilirsiniz. Eğer model pitch'i dikkate almazsa, model daha hafif olacak ancak şarkı söyleme için uygun olmayacaktır.

Her deney için veriler /logs/deney-adınız/ klasörüne yerleştirilir.

Adım 2a

Ses yüklenir ve ön işlem yapılır.

Ses yükleme

Ses içeren bir klasörü belirtirseniz, o klasördeki ses dosyaları otomatik olarak okunacaktır. Örneğin, C:Kullanıcılar\hoge\sese gibi bir klasör belirtirseniz, C:Kullanıcılar\hoge\sese\voice.mp3 yüklenecek, ancak C:Kullanıcılar\hoge\sese\klasör\voice.mp3 yüklenecektir.

Ses okumak için dahili olarak ffmpeg kullanıldığından, uzantı ffmpeg tarafından destekleniyorsa otomatik olarak okunacaktır. ffmpeg ile int16'ya dönüştürüldükten sonra, float32'ye çevrilir ve -1 ile 1 arasında normalize edilir.

Gürültü Temizleme

Ses, scipy'nin filtfilt fonksiyonu ile düzeltilir.

Ses Ayırma

Önceki işlemlerin ardından giriş sesi, belirli bir süreden (max_sil_kept=5 saniye?) daha uzun süren sessiz bölümleri algılayarak bölünür. Ses sessizlik üzerinde bölündükten sonra, sesi her 4 saniyede bir 0.3 saniyelik bir örtüşme ile bölünür. 4 saniye içinde ayrılan ses için, sesin ses düzeyi normalize edildikten sonra wav dosyasına çevrilir ve /logs/deney-adınız/0_gt_wavs klasörüne kaydedilir ve ardından 16k örnekleme hızında /logs/deney-adınız/1_16k_wavs klasörüne kaydedilir.

Adım 2b

Pitch (Ton Yüksekliği) Çıkarma

Wav dosyalarından pitch bilgisi çıkarılır. Parselmouth veya pyworld tarafından sağlanan yöntem kullanılarak pitch bilgisi (=f0) çıkarılır ve /logs/deney-adınız/2a_f0 klasöründe kaydedilir. Daha sonra pitch bilgisi logaritmik olarak 1 ile 255 arasında bir tamsayıya dönüştürülür ve /logs/deney-adınız/2b-f0nsf klasöründe kaydedilir.

Özelliklerin Çıkartılması

Wav dosyası, HuBERT kullanılarak önceden gömme olarak çıkartılır. /logs/deney-adınız/1_16k_wavs klasöründe kaydedilen wav dosyası okunur, 256 boyutlu özelliklere HuBERT kullanılarak dönüştürülür ve /logs/deney-adınız/3_feature256 klasöründe npy formatında kaydedilir.

Adım 3

Modeli eğitin.

Yeni Başlayanlar İçin Terimler

Derin öğrenmede, veri kümesi bölmeye ve öğrenmeye azar azar devam eder. Bir model güncellemesinde (adım), batch_size veri alınır ve tahminler ve hata düzeltmeleri yapılır. Bunun bir veri kümesi için bir kez yapılması bir epoch olarak sayılır.

Bu nedenle, öğrenme süresi adım başına öğrenme süresi x (veri kümesindeki veri sayısı / batch boyutu) x epoch sayısıdır. Genel olarak, batch boyutu ne kadar büyükse, öğrenme daha istikrarlı olur (adım başına öğrenme süresi ÷ batch boyutu) daha küçük olur, ancak daha fazla GPU belleği kullanır. GPU RAM, nvidia-smi komutu ile kontrol edilebilir. Makineye göre mümkün olduğunca batch boyutunu artırarak kısa sürede öğrenme yapılabilir.

Önceden Eğitilmiş Modeli Belirtme

RVC, modeli 0'dan değil önceden eğitilmiş ağırlıklardan başlayarak eğitmeye başlar, bu nedenle küçük bir veri kümesiyle eğitilebilir.

Varsayılan olarak

  • Eğer pitch'i dikkate alıyorsanız, rvc-konumu/pretrained/f0G40k.pth ve rvc-konumu/pretrained/f0D40k.pth yüklenir.
  • Eğer pitch'i dikkate almıyorsanız, rvc-konumu/pretrained/f0G40k.pth ve rvc-konumu/pretrained/f0D40k.pth yüklenir.

Eğitim sırasında, model parametreleri logs/deney-adınız/G_{}.pth ve logs/deney-adınız/D_{}.pth olarak her save_every_epoch için kaydedilir, ancak bu yolu belirterek eğitimi başlatabilirsiniz. Farklı bir deneyde öğrenilen model ağırlıklarından eğitime yeniden başlatabilir veya yeni başlatabilirsiniz.

Öğrenme İndeksi

RVC, eğitim sırasında kullanılan HuBERT özellik değerlerini kaydeder ve çıkarım sırasında eğitim sırasında kullanılan özellik değerlerine ben

zer özellik değerlerini aramak için çıkarım yapar. Bu aramayı yüksek hızda gerçekleştirmek için indeksi önceden öğrenir. İndeks öğrenimi için, yaklaşık komşuluk arama kütüphanesi faiss kullanılır. /logs/deney-adınız/3_feature256 klasöründe kaydedilen özellik değerini okuyarak indeks öğrenimi yapılır ve logs/deney-adınız/add_XXX.index olarak kaydedilir.

(20230428 güncelleme sürümünden itibaren, indeks okunur ve kaydetme / belirtme artık gerekli değildir.)

Buton açıklamaları

  • Modeli Eğit: Adım 2b'yi tamamladıktan sonra, modeli eğitmek için bu düğmeye basın.
  • Özellik İndeksini Eğit: Model eğitimini tamamladıktan sonra, indeks öğrenimini yapmak için bu düğmeye basın.
  • Tek Tıkla Eğitim: Adım 2b, model eğitimi ve özellik indeksi eğitimi hepsi bir arada.