HiFi-Gan by ryabinin
Created on December 20|Last edited on December 20
Comment
Запуск
Надо склонировать репозиторий
!git clone https://github.com/ryandrey/nv.git
Потом установить requirements.txt
!pip install -r nv/requirements.txt
Скачать датасет LJSpeech
wget https://data.keithito.com/data/speech/LJSpeech-1.1.tar.bz2
tar -xjf LJSpeech-1.1.tar.bz2
И запустить обучение
!python3 nv/train.py -c nv/nv/config.json
Я выбрал конфигурацию V2 с hidden_size = 128, чтобы проще было обучить.
Также я вдохновлялся репозиторием https://github.com/jik876/hifi-gan, одна вещь мне там сильно помогла. Когда я пытался переобучить батч, то у меня получались очень странные вавки, обучение шло очень тяжко, а репозитории я заметил отличие модели в том, что в генераторе в MRF блоке берется не сумма resblocks, а среднее, это помогло мне урегулировать вавки. К сожалению, те раны не сохранились, я почему-то решил удалить их. Было что-то на следующем скрине:

Обучал в 3 подхода по 100 эпох примерно, отличия заключались в learning_rate:
1) сначала я взял learning rate schedule как в статье, но он очень медленно падал
2) поэтому в двух других ранах, я решил уменьшить фактор умножения в каждой эпохе до 0.94 и 0.98 соответсвтенно
Также я столкнулся с такой проблемой, что после первого рана я не сохранял MSD, поэтому во втором ране MSD обучается заново, в то время когда веса для генератора и MPD сохранились. Этим объясняется такая странность графиков.
На этом всё, обучение прошло гладко.
Section 1
Run set
3
Run set
3
Тестирование
Написано оно не очень хорошо, но впринципе можно запустить
!python3 nv/test.py -с <config_path> -r <module_path>
модель можно скачать по ссылке
Add a comment