From 1be45eae38d3170e2e200be1dbebc3e083dfdfbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20G=C3=B6lge?= Date: Fri, 7 May 2021 15:34:52 +0200 Subject: [PATCH] add new tests for vocoder trainings using coqpit --- tests/vocoder_tests/__init__.py | 0 .../test_fullband_melgan_train.py | 42 +++++++++++++++++++ tests/vocoder_tests/test_melgan_train.py | 42 +++++++++++++++++++ .../test_multiband_melgan_train.py | 42 +++++++++++++++++++ .../test_parallel_wavegan_train.py | 42 +++++++++++++++++++ tests/vocoder_tests/test_wavegrad_train.py | 42 +++++++++++++++++++ tests/vocoder_tests/test_wavernn_train.py | 42 +++++++++++++++++++ 7 files changed, 252 insertions(+) create mode 100644 tests/vocoder_tests/__init__.py create mode 100644 tests/vocoder_tests/test_fullband_melgan_train.py create mode 100644 tests/vocoder_tests/test_melgan_train.py create mode 100644 tests/vocoder_tests/test_multiband_melgan_train.py create mode 100644 tests/vocoder_tests/test_parallel_wavegan_train.py create mode 100644 tests/vocoder_tests/test_wavegrad_train.py create mode 100644 tests/vocoder_tests/test_wavernn_train.py diff --git a/tests/vocoder_tests/__init__.py b/tests/vocoder_tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/vocoder_tests/test_fullband_melgan_train.py b/tests/vocoder_tests/test_fullband_melgan_train.py new file mode 100644 index 00000000..358552c4 --- /dev/null +++ b/tests/vocoder_tests/test_fullband_melgan_train.py @@ -0,0 +1,42 @@ +import glob +import os +import shutil + +from tests import get_tests_output_path, run_cli +from TTS.vocoder.configs import FullbandMelganConfig + +config_path = os.path.join(get_tests_output_path(), "test_vocoder_config.json") +output_path = os.path.join(get_tests_output_path(), "train_outputs") + +config = FullbandMelganConfig( + batch_size=8, + eval_batch_size=8, + num_loader_workers=0, + num_val_loader_workers=0, + run_eval=True, + test_delay_epochs=-1, + epochs=1, + seq_len=8192, + eval_split_size=1, + print_step=1, + print_eval=True, + data_path="tests/data/ljspeech", + output_path=output_path +) +config.audio.do_trim_silence = True +config.audio.trim_db = 60 +config.save_json(config_path) + +# train the model for one epoch +command_train = ( + f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --config_path {config_path} " +) +run_cli(command_train) + +# Find latest folder +continue_path = max(glob.glob(os.path.join(output_path, "*/")), key=os.path.getmtime) + +# restore the model and continue training for one more epoch +command_train = f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --continue_path {continue_path} " +run_cli(command_train) +shutil.rmtree(continue_path) diff --git a/tests/vocoder_tests/test_melgan_train.py b/tests/vocoder_tests/test_melgan_train.py new file mode 100644 index 00000000..65b7346a --- /dev/null +++ b/tests/vocoder_tests/test_melgan_train.py @@ -0,0 +1,42 @@ +import glob +import os +import shutil + +from tests import get_tests_output_path, run_cli +from TTS.vocoder.configs import MelganConfig + +config_path = os.path.join(get_tests_output_path(), "test_vocoder_config.json") +output_path = os.path.join(get_tests_output_path(), "train_outputs") + +config = MelganConfig( + batch_size=8, + eval_batch_size=8, + num_loader_workers=0, + num_val_loader_workers=0, + run_eval=True, + test_delay_epochs=-1, + epochs=1, + seq_len=8192, + eval_split_size=1, + print_step=1, + print_eval=True, + data_path="tests/data/ljspeech", + output_path=output_path +) +config.audio.do_trim_silence = True +config.audio.trim_db = 60 +config.save_json(config_path) + +# train the model for one epoch +command_train = ( + f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --config_path {config_path} " +) +run_cli(command_train) + +# Find latest folder +continue_path = max(glob.glob(os.path.join(output_path, "*/")), key=os.path.getmtime) + +# restore the model and continue training for one more epoch +command_train = f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --continue_path {continue_path} " +run_cli(command_train) +shutil.rmtree(continue_path) diff --git a/tests/vocoder_tests/test_multiband_melgan_train.py b/tests/vocoder_tests/test_multiband_melgan_train.py new file mode 100644 index 00000000..8ededcce --- /dev/null +++ b/tests/vocoder_tests/test_multiband_melgan_train.py @@ -0,0 +1,42 @@ +import glob +import os +import shutil + +from tests import get_tests_output_path, run_cli +from TTS.vocoder.configs import MultibandMelganConfig + +config_path = os.path.join(get_tests_output_path(), "test_vocoder_config.json") +output_path = os.path.join(get_tests_output_path(), "train_outputs") + +config = MultibandMelganConfig( + batch_size=8, + eval_batch_size=8, + num_loader_workers=0, + num_val_loader_workers=0, + run_eval=True, + test_delay_epochs=-1, + epochs=1, + seq_len=8192, + eval_split_size=1, + print_step=1, + print_eval=True, + data_path="tests/data/ljspeech", + output_path=output_path +) +config.audio.do_trim_silence = True +config.audio.trim_db = 60 +config.save_json(config_path) + +# train the model for one epoch +command_train = ( + f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --config_path {config_path} " +) +run_cli(command_train) + +# Find latest folder +continue_path = max(glob.glob(os.path.join(output_path, "*/")), key=os.path.getmtime) + +# restore the model and continue training for one more epoch +command_train = f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --continue_path {continue_path} " +run_cli(command_train) +shutil.rmtree(continue_path) diff --git a/tests/vocoder_tests/test_parallel_wavegan_train.py b/tests/vocoder_tests/test_parallel_wavegan_train.py new file mode 100644 index 00000000..a2edd0c5 --- /dev/null +++ b/tests/vocoder_tests/test_parallel_wavegan_train.py @@ -0,0 +1,42 @@ +import glob +import os +import shutil + +from tests import get_tests_output_path, run_cli +from TTS.vocoder.configs import ParallelWaveganConfig + +config_path = os.path.join(get_tests_output_path(), "test_vocoder_config.json") +output_path = os.path.join(get_tests_output_path(), "train_outputs") + +config = ParallelWaveganConfig( + batch_size=8, + eval_batch_size=8, + num_loader_workers=0, + num_val_loader_workers=0, + run_eval=True, + test_delay_epochs=-1, + epochs=1, + seq_len=8192, + eval_split_size=1, + print_step=1, + print_eval=True, + data_path="tests/data/ljspeech", + output_path=output_path +) +config.audio.do_trim_silence = True +config.audio.trim_db = 60 +config.save_json(config_path) + +# train the model for one epoch +command_train = ( + f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --config_path {config_path} " +) +run_cli(command_train) + +# Find latest folder +continue_path = max(glob.glob(os.path.join(output_path, "*/")), key=os.path.getmtime) + +# restore the model and continue training for one more epoch +command_train = f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_gan.py --continue_path {continue_path} " +run_cli(command_train) +shutil.rmtree(continue_path) diff --git a/tests/vocoder_tests/test_wavegrad_train.py b/tests/vocoder_tests/test_wavegrad_train.py new file mode 100644 index 00000000..ffa450b8 --- /dev/null +++ b/tests/vocoder_tests/test_wavegrad_train.py @@ -0,0 +1,42 @@ +import glob +import os +import shutil + +from tests import get_tests_output_path, run_cli +from TTS.vocoder.configs import WavegradConfig + +config_path = os.path.join(get_tests_output_path(), "test_vocoder_config.json") +output_path = os.path.join(get_tests_output_path(), "train_outputs") + +config = WavegradConfig( + batch_size=8, + eval_batch_size=8, + num_loader_workers=0, + num_val_loader_workers=0, + run_eval=True, + test_delay_epochs=-1, + epochs=1, + seq_len=8192, + eval_split_size=1, + print_step=1, + print_eval=True, + data_path="tests/data/ljspeech", + output_path=output_path +) +config.audio.do_trim_silence = True +config.audio.trim_db = 60 +config.save_json(config_path) + +# train the model for one epoch +command_train = ( + f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_wavegrad.py --config_path {config_path} " +) +run_cli(command_train) + +# Find latest folder +continue_path = max(glob.glob(os.path.join(output_path, "*/")), key=os.path.getmtime) + +# restore the model and continue training for one more epoch +command_train = f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_wavegrad.py --continue_path {continue_path} " +run_cli(command_train) +shutil.rmtree(continue_path) diff --git a/tests/vocoder_tests/test_wavernn_train.py b/tests/vocoder_tests/test_wavernn_train.py new file mode 100644 index 00000000..33fc4e57 --- /dev/null +++ b/tests/vocoder_tests/test_wavernn_train.py @@ -0,0 +1,42 @@ +import glob +import os +import shutil + +from tests import get_tests_output_path, run_cli +from TTS.vocoder.configs import WavernnConfig + +config_path = os.path.join(get_tests_output_path(), "test_vocoder_config.json") +output_path = os.path.join(get_tests_output_path(), "train_outputs") + +config = WavernnConfig( + batch_size=8, + eval_batch_size=8, + num_loader_workers=0, + num_val_loader_workers=0, + run_eval=True, + test_delay_epochs=-1, + epochs=1, + seq_len=8192, + eval_split_size=1, + print_step=1, + print_eval=True, + data_path="tests/data/ljspeech", + output_path=output_path +) +config.audio.do_trim_silence = True +config.audio.trim_db = 60 +config.save_json(config_path) + +# train the model for one epoch +command_train = ( + f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_wavernn.py --config_path {config_path} " +) +run_cli(command_train) + +# Find latest folder +continue_path = max(glob.glob(os.path.join(output_path, "*/")), key=os.path.getmtime) + +# restore the model and continue training for one more epoch +command_train = f"CUDA_VISIBLE_DEVICES='' python TTS/bin/train_vocoder_wavernn.py --continue_path {continue_path} " +run_cli(command_train) +shutil.rmtree(continue_path)