#!/usr/bin/python3 # -*- coding: utf-8 -*- from toolbox.torchaudio.configuration_utils import PretrainedConfig class DTLNConfig(PretrainedConfig): def __init__(self, sample_rate: int = 8000, fft_size: int = 200, hop_size: int = 80, win_type: str = "hann", encoder_size: int = 256, min_snr_db: float = -10, max_snr_db: float = 20, lr: float = 0.001, lr_scheduler: str = "CosineAnnealingLR", lr_scheduler_kwargs: dict = None, max_epochs: int = 100, clip_grad_norm: float = 10., seed: int = 1234, num_workers: int = 4, batch_size: int = 4, eval_steps: int = 25000, **kwargs ): super(DTLNConfig, self).__init__(**kwargs) # transform self.sample_rate = sample_rate self.fft_size = fft_size self.hop_size = hop_size self.win_type = win_type # model params self.encoder_size = encoder_size # data snr self.min_snr_db = min_snr_db self.max_snr_db = max_snr_db # train self.lr = lr self.lr_scheduler = lr_scheduler self.lr_scheduler_kwargs = lr_scheduler_kwargs or dict() self.max_epochs = max_epochs self.clip_grad_norm = clip_grad_norm self.seed = seed self.num_workers = num_workers self.batch_size = batch_size self.eval_steps = eval_steps def main(): config = DTLNConfig() config.to_yaml_file("config.yaml") return if __name__ == "__main__": main()