Trainieren Sie Hifi-än über TPU und andere Korrekturen.
Hifi -gan ist ein beliebter GaN-Vokoder, der eine sehr gute Audioqualität und Echtzeit-Sprachgeneration auf der CPU erzielt. Die offizielle Hifi -gan-Implementierung ist unter https://github.com/jik876/hifi-gan
Dieses Repo versuchte verschiedene Dinge, um die offizielle Implementierung zu verbessern:
Es verwendet die JAX -Bibliothek, damit Sie Ihren GaN -Vocoder auf TPUs trainieren können. Es kann auf Google Colab TPUV2 mit einer ähnlichen Geschwindigkeit wie einer V100 -GPU ausgeführt werden. Es kann X3 schneller (als V100) auf einem TPUV3 (getestet auf Kaggle TPU) ausführen.
Obwohl das Hifi-Gan-Papier behauptet, dass sein Generator ein vollständig faltungsvolles neuronales Netzwerk (FCN) ist, verwendet seine offizielle Implementierung die Polsterung bei Konvoke-Schichten, um die Dimension gleich zu halten. Es ist also kein FCN. Dieses Repo bietet einen FCN-Generator, der zu einer Verbesserung des Melspektrogrammverlusts führt.
In diesem Repo wird die Lernrate für 1000 Schritte um einen Faktor von 0,999 reduziert. Dies unterscheidet sich von der ursprünglichen Implementierung, die die Lernrate für jede Epoche verringert. Für einen kleinen Datensatz kann dies dazu führen, dass die Lernrate zu schnell reduziert wird.
Die ursprüngliche Implementierung berechnet für jedes Ziel-Audiosegment bedingte Melspektrogrammrahmen. Dies schafft voreingenommene Frames an den Rändern aufgrund von Polsterung. In diesem Repo berechnen wir auch bedingte Frames im laufenden Fliegen. Wir entfernen jedoch vorgespannte Rahmen an den Rändern.
pip3 install -r requirements.txt
python3 ljs.py
python3 prepare_data.py --wav-dir=/path/to/wav/dir
python3 train.py --data-dir=/path/to/wav/dir