Why loading data in two stages at training start ? #991
-
When training a model with a small dataset of N utterances, my data is loaded in two stages :
The logs for a dataset of 640 utterances are shown below for the model Tacotron2-DCA, but the same happens with other models:
I don't understand why the loading is done in two stages. What is a batch group, what means size : 0 ? I tried to read the scripts related to the datasets and to draw a flow-chart, without success. I guess these are easy questions for the Coqui-TTS experts. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
(answered in the call) |
Beta Was this translation helpful? Give feedback.
-
I might have answered the wrong thing. Now that I see the logs you posted, I guess you were confused about seeing the same logs with different values. The reason is that we load 2 data loaders, one for training and one for validation. That is why you see the same set of logs with different values. |
Beta Was this translation helpful? Give feedback.
-
@erogol : thank you for your answer which crossed my recent trials. I am pleased to recapitulate hereafter the dataloading workflow in detail, for my own needs and for interested users. Three dataset files are involved in the learning process :
The samples in the three lists must be different. The test list is easy. It is specified with the parameter If no validation file is specified in the configuration, the file specified for training in the configuration (usually named metadata.csv) with N samples is splitted as follows: N * 0.01 validation samples (see lines 20 and 21 in script
This code explains why I observed for my small dataset of 640 samples a dataloader initialization with N-6 samples at the start, followed by a dataloader initialization with 6 samples after the first traing epoch. For the LJSpeech dataset with N = 13.100 the number of validation samples is calculated as 131 and the number of training files as 12.969. This is confirmed by the logs at the training start :
If both validation and training files are specified in the configuration, the numbers of samples in these files are used. For example the bash script
For me the dataloading process is now totally clear. Describing the working of the |
Beta Was this translation helpful? Give feedback.
(answered in the call)