[Question] Implement preprocessing on datasets?
See original GitHub issueComing from TensorFlowTTS, i find Coqui to be more functional and well-maintained. (I still encounter nan
losses after 50k+ iterations, but i can leave that for later.)
One main issue is that each iteration seems to take about double the time and memory consumption is higher compared to TensorFlowTTS. From dataset.py
, i can see collate_fn
computes the spectrograms while batching and does not cache them (unlike the phoneme_cache
).
I will rewrite some parts to save the preprocessed phonemes and spectrograms so i can train different models on the same dataset, and visually compare the ground truth spectrograms against the TTS output.
Also, i think LongTensors are not needed as sequence lengths won’t exceed 2 billion.
Issue Analytics
- State:
- Created 2 years ago
- Comments:16 (5 by maintainers)
Top Results From Across the Web
[Question] Implement preprocessing on datasets? #1236
One main issue is that each iteration seems to take about double the time and memory consumption is higher compared to TensorFlowTTS. From ......
Read more >Data Science Interview Preparation — Data Pre-processing
Data Processing is an important step in building Machine Learning models. In this post, we discuss interview questions on Pre-processing ...
Read more >Data Preprocessing in Python for Machine Learning
In this post I am going to walk through the implementation of Data Preprocessing methods using Python. I will cover the following, ...
Read more >20 Data Preprocessing Interview Questions and Answers
Here are 20 commonly asked Data Preprocessing interview questions and answers ... to use multiple imputation techniques on a single dataset.
Read more >Easy Guide To Data Preprocessing In Python - KDnuggets
1. Train Test Split · 2. Taking Care of Missing Values · 3. Taking care of Categorical Features · 4. Normalizing the Dataset....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@erogol @vince62s I think i’ve found the bottleneck. For some reason, creating a
phonemizer
ingruut
is very slow.With 8 text samples per CPU, this would slow down every batch by over 1s. If we simply create
phonemizer
beforetext_to_phonemes
the bottleneck goes away.@erogol Thanks for the update! I am rushing a paper for Interspeech 2022 so i might only review the latest version end March… meanwhile, i have found that
gruut.Phonemizer
can’t be pickled (i.e. i cannot pass it as an argument to_phoneme_worker
, so every worker needs to create its ownphonemizer
).My current hack is to create a global
phonemizers
wherenum_phonemizers = num_workers
, then pass theworker_idx
to_phoneme_worker
.