NVIDIA/flowtron

Issue starting training while using ljs dataset

Wemmons831 opened this issue · 8 comments

Hello I am trying to train flowtron off of the ljs dataset however taring will not start. When I try to start training I et this error
Traceback (most recent call last): File "train.py", line 415, in <module> train(n_gpus, rank, **train_config) File "train.py", line 257, in train data_config, n_gpus, batch_size) File "train.py", line 64, in prepare_dataloaders **dict((k, v) for k, v in data_config.items() File "C:\Users\wille\desktop\code\flowtron\data.py", line 75, in __init__ self.audiopaths_and_text) File "C:\Users\wille\desktop\code\flowtron\data.py", line 144, in create_speaker_lookup_table speaker_ids = np.sort(np.unique([x[2] for x in audiopaths_and_text])) File "C:\Users\wille\desktop\code\flowtron\data.py", line 144, in <listcomp> speaker_ids = np.sort(np.unique([x[2] for x in audiopaths_and_text])) IndexError: list index out of range
I have seen issues like this but they just recommend not using the ljs dataset and I was wondering if and how I could use the ljs dataset without getting this error

Silly question but do you have your file list pointing at the right location where your stored the .wav files on your drive?

Yes I am sure that the file list documents are pointing to the right paths

Hey Willie, I'm also having the same problem, did you manage to figure it out?

Your metadata file does not contain the speaker ID field (3rd one, i.e. x[2]), or there are empty lines in your metadata file.

Yes, might be worth seeing what number of speakers is set to in the config file and ensure that the end of each line in the file list ends in |0

Hey Willie, I'm also having the same problem, did you manage to figure it out?

Managed to fix my issue, I did not include |0 at the end of one of my filelist!

@Wemmons831 make sure each line in your filelists are formatted as this:
filepath|text|speakerid

@Wemmons831 make sure each line in your filelists are formatted as this: filepath|text|speakerid

Can i do it with any language or is it specific to English alone?
I have thoroughly checked my filelist and the format is same as LJ speech, yet am getting this error
Traceback (most recent call last):
File "train.py", line 415, in
train(n_gpus, rank, **train_config)
File "train.py", line 257, in train
data_config, n_gpus, batch_size)
File "train.py", line 64, in prepare_dataloaders
**dict((k, v) for k, v in data_config.items()
File "/content/flowtron/data.py", line 75, in init
self.audiopaths_and_text)
File "/content/flowtron/data.py", line 144, in create_speaker_lookup_table
speaker_ids = np.sort(np.unique([x[2] for x in audiopaths_and_text]))
File "/content/flowtron/data.py", line 144, in
speaker_ids = np.sort(np.unique([x[2] for x in audiopaths_and_text]))
IndexError: list index out of range

can someone help me pls.
sample text : /content/drive/MyDrive/Flowtron-Lambnai/Flowtron-500/wavs/10.wav|ಘಣೋ ಖಾಣೋ ಹಾಳ ವೇಗೋಚ.|0