vq_diffusion.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. defaults:
  2. - base
  3. - _self_
  4. project: vq_naive
  5. # Lightning Trainer
  6. trainer:
  7. accelerator: gpu
  8. devices: 4
  9. strategy: ddp_find_unused_parameters_true
  10. gradient_clip_val: 1.0
  11. gradient_clip_algorithm: 'norm'
  12. precision: bf16-mixed
  13. max_steps: 300_000
  14. val_check_interval: 5000
  15. sample_rate: 24000
  16. hop_length: 256
  17. num_mels: 100
  18. n_fft: 1024
  19. win_length: 1024
  20. # Dataset Configuration
  21. train_dataset:
  22. _target_: fish_speech.datasets.vqgan.VQGANDataset
  23. filelist: data/filelist.split.train
  24. sample_rate: ${sample_rate}
  25. hop_length: ${hop_length}
  26. slice_frames: 512
  27. val_dataset:
  28. _target_: fish_speech.datasets.vqgan.VQGANDataset
  29. filelist: data/filelist.split.valid
  30. sample_rate: ${sample_rate}
  31. hop_length: ${hop_length}
  32. data:
  33. _target_: fish_speech.datasets.vqgan.VQGANDataModule
  34. train_dataset: ${train_dataset}
  35. val_dataset: ${val_dataset}
  36. num_workers: 8
  37. batch_size: 32
  38. val_batch_size: 4
  39. # Model Configuration
  40. model:
  41. _target_: fish_speech.models.vq_diffusion.lit_module.VQDiffusion
  42. sample_rate: ${sample_rate}
  43. hop_length: ${hop_length}
  44. speaker_use_feats: true
  45. downsample:
  46. _target_: fish_speech.models.vq_diffusion.lit_module.ConvDownSample
  47. dims: [128, 512, 128]
  48. kernel_sizes: [3, 3]
  49. strides: [2, 2]
  50. text_encoder:
  51. _target_: fish_speech.models.vqgan.modules.encoders.TextEncoder
  52. in_channels: 128
  53. out_channels: 128
  54. hidden_channels: 192
  55. hidden_channels_ffn: 768
  56. n_heads: 2
  57. n_layers: 6
  58. kernel_size: 1
  59. dropout: 0.1
  60. use_vae: false
  61. gin_channels: 512
  62. speaker_cond_layer: 0
  63. vq_encoder:
  64. _target_: fish_speech.models.vqgan.modules.encoders.VQEncoder
  65. in_channels: 128
  66. vq_channels: 128
  67. codebook_size: 4096
  68. downsample: 1
  69. speaker_encoder:
  70. _target_: fish_speech.models.vqgan.modules.encoders.SpeakerEncoder
  71. in_channels: 128
  72. hidden_channels: 192
  73. out_channels: 128
  74. num_heads: 2
  75. num_layers: 4
  76. p_dropout: 0.1
  77. decoder:
  78. _target_: fish_speech.models.vqgan.modules.encoders.TextEncoder
  79. in_channels: 128
  80. out_channels: 100
  81. hidden_channels: 192
  82. hidden_channels_ffn: 768
  83. n_heads: 2
  84. n_layers: 6
  85. kernel_size: 1
  86. use_vae: false
  87. dropout: 0
  88. gin_channels: 128
  89. speaker_cond_layer: 0
  90. postnet:
  91. _target_: fish_speech.models.vq_diffusion.convnext_1d.ConvNext1DModel
  92. in_channels: 100
  93. out_channels: 100
  94. intermediate_dim: 256
  95. mlp_dim: 1024
  96. num_layers: 6
  97. dilation_cycle_length: 2
  98. vocoder:
  99. _target_: fish_speech.models.vq_diffusion.bigvgan.BigVGAN
  100. mel_transform:
  101. _target_: fish_speech.models.vqgan.spectrogram.LogMelSpectrogram
  102. sample_rate: ${sample_rate}
  103. n_fft: ${n_fft}
  104. hop_length: ${hop_length}
  105. win_length: ${win_length}
  106. n_mels: ${num_mels}
  107. f_min: 0
  108. f_max: 12000
  109. feature_mel_transform:
  110. _target_: fish_speech.models.vqgan.spectrogram.LogMelSpectrogram
  111. sample_rate: 32000
  112. n_fft: 2048
  113. hop_length: 320
  114. win_length: 2048
  115. n_mels: 128
  116. optimizer:
  117. _target_: torch.optim.AdamW
  118. _partial_: true
  119. lr: 1e-4
  120. betas: [0.9, 0.999]
  121. eps: 1e-5
  122. lr_scheduler:
  123. _target_: torch.optim.lr_scheduler.LambdaLR
  124. _partial_: true
  125. lr_lambda:
  126. _target_: fish_speech.scheduler.get_cosine_schedule_with_warmup_lr_lambda
  127. _partial_: true
  128. num_warmup_steps: 0
  129. num_training_steps: ${trainer.max_steps}
  130. final_lr_ratio: 0.05
  131. callbacks:
  132. grad_norm_monitor:
  133. sub_module:
  134. - vq_encoder
  135. - text_encoder
  136. - speaker_encoder
  137. - decoder
  138. - postnet