coqui-ai / TTS

πŸΈπŸ’¬ - a deep learning toolkit for Text-to-Speech, battle-tested in research and production
http://coqui.ai
Mozilla Public License 2.0
34.99k stars 4.26k forks source link

[Bug] AttributeError: 'Trainer' object has no attribute 'setup_train_dataloader' #616

Closed serg06 closed 3 years ago

serg06 commented 3 years ago

When I try to run the ljspeech Tacotron2-DDC recipe I get this error:

Traceback (most recent call last):
  File "/home/user/repo/coqui-clean/TTS/trainer.py", line 804, in fit
    self._fit()
  File "/home/user/repo/coqui-clean/TTS/trainer.py", line 785, in _fit
    self.callbacks.on_epoch_start()
  File "/home/user/repo/coqui-clean/TTS/utils/callbacks.py", line 28, in on_epoch_start
    self.trainer.model.on_epoch_start(self.trainer)
  File "/home/user/repo/coqui-clean/TTS/tts/models/base_tacotron.py", line 284, in on_epoch_start
    trainer.train_loader = trainer.setup_train_dataloader(self.ap, self.model.decoder.r, verbose=True)
AttributeError: 'Trainer' object has no attribute 'setup_train_dataloader'

To Reproduce

git clone git@github.com:coqui-ai/TTS.git
cd TTS
git checkout 676d22f  # current latest commit
pip install -e .[all,dev,notebooks,tf]
bash recipes/ljspeech/tacotron2-DDC/run.sh

Expected behavior

It trains successfully.

Environment (please complete the following information):

Additional context

Here's the full output: ``` (coqui0.1.0) $:~/repo/coqui-clean$ bash recipes/ljspeech/tacotron2-DDC/run.sh /home/user/repo/coqui-clean/recipes/ljspeech/tacotron2-DDC --2021-07-06 00:42:41-- http://data.keithito.com/data/speech/LJSpeech-1.1.tar.bz2 Resolving data.keithito.com (data.keithito.com)... 174.138.79.61 Connecting to data.keithito.com (data.keithito.com)|174.138.79.61|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2748572632 (2.6G) [application/octet-stream] Saving to: β€˜LJSpeech-1.1.tar.bz2’ LJSpeech-1.1.tar.bz2 100%[=================================================>] 2.56G 46.6MB/s in 60s 2021-07-06 00:43:40 (44.0 MB/s) - β€˜LJSpeech-1.1.tar.bz2’ saved [2748572632/2748572632] > Setting up Audio Processor... | > sample_rate:22050 | > resample:False | > num_mels:80 | > min_level_db:-100 | > frame_shift_ms:None | > frame_length_ms:None | > ref_level_db:20 | > fft_size:1024 | > power:1.5 | > preemphasis:0.0 | > griffin_lim_iters:60 | > signal_norm:False | > symmetric_norm:True | > mel_fmin:50.0 | > mel_fmax:7600.0 | > spec_gain:1.0 | > stft_pad_mode:reflect | > max_norm:4.0 | > clip_norm:True | > do_trim_silence:True | > trim_db:60 | > do_sound_norm:False | > stats_path:None | > base:10 | > hop_length:256 | > win_length:1024 > There are 13100 files. 100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 13100/13100 [05:46<00:00, 37.81it/s]^N > Avg mel spec mean: -2.378217084246396 > Avg mel spec scale: 0.7759980543384165 > Avg linear spec mean: -1.5933026157748336 > Avg linear spec scale: 0.871633369603101 > stats saved to /home/user/repo/coqui-clean/recipes/ljspeech/tacotron2-DDC/scale_stats.npy > Git Hash: 676d22ff > Experiment folder: /home/user/repo/coqui-clean/recipes/ljspeech/tacotron2-DDC/ljspeech-ddc-July-06-2021_12+52AM-676d22ff > Using CUDA: True > Number of GPUs: 1 > Setting up Audio Processor... | > sample_rate:22050 | > resample:False | > num_mels:80 | > min_level_db:-100 | > frame_shift_ms:None | > frame_length_ms:None | > ref_level_db:20 | > fft_size:1024 | > power:1.5 | > preemphasis:0.0 | > griffin_lim_iters:60 | > signal_norm:True | > symmetric_norm:True | > mel_fmin:50.0 | > mel_fmax:7600.0 | > spec_gain:1.0 | > stft_pad_mode:reflect | > max_norm:4.0 | > clip_norm:True | > do_trim_silence:True | > trim_db:60 | > do_sound_norm:False | > stats_path:/home/user/repo/coqui-clean/recipes/ljspeech/tacotron2-DDC/scale_stats.npy | > base:10 | > hop_length:256 | > win_length:1024 | > Found 13100 files in /home/user/repo/coqui-clean/recipes/ljspeech/tacotron2-DDC/LJSpeech-1.1 > Using model: Tacotron2 > Model has 47695604 parameters ! Run is removed from /home/user/repo/coqui-clean/recipes/ljspeech/tacotron2-DDC/ljspeech-ddc-July-06-2021_12+52AM-676d22ff Traceback (most recent call last): File "/home/user/repo/coqui-clean/TTS/trainer.py", line 804, in fit self._fit() File "/home/user/repo/coqui-clean/TTS/trainer.py", line 785, in _fit self.callbacks.on_epoch_start() File "/home/user/repo/coqui-clean/TTS/utils/callbacks.py", line 28, in on_epoch_start self.trainer.model.on_epoch_start(self.trainer) File "/home/user/repo/coqui-clean/TTS/tts/models/base_tacotron.py", line 284, in on_epoch_start trainer.train_loader = trainer.setup_train_dataloader(self.ap, self.model.decoder.r, verbose=True) AttributeError: 'Trainer' object has no attribute 'setup_train_dataloader' ```
erogol commented 3 years ago

Looks like a real bug. I am on it.

erogol commented 3 years ago

@serg06 can you try the latest dev ?

serg06 commented 3 years ago

@erogol Seems to work, an epoch completed successfully. Thanks!

erogol commented 3 years ago

nice !