# This is the hyperparameter configuration file for Tacotron2 v1. | |
# Please make sure this is adjusted for the LJSpeech dataset. If you want to | |
# apply to the other dataset, you might need to carefully change some parameters. | |
# This configuration performs 200k iters but 65k iters is enough to get a good models. | |
########################################################### | |
# FEATURE EXTRACTION SETTING # | |
########################################################### | |
hop_size: 256 # Hop size. | |
format: "npy" | |
########################################################### | |
# NETWORK ARCHITECTURE SETTING # | |
########################################################### | |
model_type: "tacotron2" | |
tacotron2_params: | |
dataset: ljspeech | |
embedding_hidden_size: 512 | |
initializer_range: 0.02 | |
embedding_dropout_prob: 0.1 | |
n_speakers: 1 | |
n_conv_encoder: 5 | |
encoder_conv_filters: 512 | |
encoder_conv_kernel_sizes: 5 | |
encoder_conv_activation: 'relu' | |
encoder_conv_dropout_rate: 0.5 | |
encoder_lstm_units: 256 | |
n_prenet_layers: 2 | |
prenet_units: 256 | |
prenet_activation: 'relu' | |
prenet_dropout_rate: 0.5 | |
n_lstm_decoder: 1 | |
reduction_factor: 2 | |
decoder_lstm_units: 1024 | |
attention_dim: 128 | |
attention_filters: 32 | |
attention_kernel: 31 | |
n_mels: 80 | |
n_conv_postnet: 5 | |
postnet_conv_filters: 512 | |
postnet_conv_kernel_sizes: 5 | |
postnet_dropout_rate: 0.1 | |
attention_type: "lsa" | |
########################################################### | |
# DATA LOADER SETTING # | |
########################################################### | |
batch_size: 32 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1. | |
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps. | |
allow_cache: false # Whether to allow cache in dataset. If true, it requires cpu memory. | |
mel_length_threshold: 32 # remove all targets has mel_length <= 32 | |
is_shuffle: true # shuffle dataset after each epoch. | |
use_fixed_shapes: true # use_fixed_shapes for training (2x speed-up) | |
# refer (https://github.com/dathudeptrai/TensorflowTTS/issues/34#issuecomment-642309118) | |
########################################################### | |
# OPTIMIZER & SCHEDULER SETTING # | |
########################################################### | |
optimizer_params: | |
initial_learning_rate: 0.001 | |
end_learning_rate: 0.00001 | |
decay_steps: 150000 # < train_max_steps is recommend. | |
warmup_proportion: 0.02 | |
weight_decay: 0.001 | |
gradient_accumulation_steps: 1 | |
var_train_expr: null # trainable variable expr (eg. 'embeddings|decoder_cell' ) | |
# must separate by |. if var_train_expr is null then we | |
# training all variables. | |
########################################################### | |
# INTERVAL SETTING # | |
########################################################### | |
train_max_steps: 200000 # Number of training steps. | |
save_interval_steps: 2000 # Interval steps to save checkpoint. | |
eval_interval_steps: 500 # Interval steps to evaluate the network. | |
log_interval_steps: 200 # Interval steps to record the training log. | |
start_schedule_teacher_forcing: 200001 # don't need to apply schedule teacher forcing. | |
start_ratio_value: 0.5 # start ratio of scheduled teacher forcing. | |
schedule_decay_steps: 50000 # decay step scheduled teacher forcing. | |
end_ratio_value: 0.0 # end ratio of scheduled teacher forcing. | |
########################################################### | |
# OTHER SETTING # | |
########################################################### | |
num_save_intermediate_results: 1 # Number of results to be saved as intermediate results. | |