FENRlR / MB-iSTFT-VITS2

Application of MB-iSTFT-VITS components to vits2_pytorch
MIT License
118 stars 29 forks source link

Training more Chinese speaking person error: ValueError: too many values to unpack (expected 3) #12

Closed Bohemian-self closed 1 year ago

Bohemian-self commented 1 year ago

**Traceback (most recent call last): File "/content/MB-iSTFT-VITS2/train_ms.py", line 492, in main() File "/content/MB-iSTFT-VITS2/train_ms.py", line 57, in main mp.spawn(run, nprocs=n_gpus, args=(n_gpus, hps,)) File "/root/.local/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 240, in spawn return start_processes(fn, args, nprocs, join, daemon, start_method='spawn') File "/root/.local/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 198, in start_processes while not context.join(): File "/root/.local/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 160, in join raise ProcessRaisedException(msg, error_index, failed_process.pid) torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 0 terminated with the following error: Traceback (most recent call last): File "/root/.local/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap fn(i, *args) File "/content/MB-iSTFT-VITS2/train_ms.py", line 86, in run train_dataset = TextAudioSpeakerLoader(hps.data.training_files, hps.data) File "/content/MB-iSTFT-VITS2/data_utils.py", line 202, in init self._filter() File "/content/MB-iSTFT-VITS2/data_utils.py", line 214, in _filter for audiopath, sid, text in self.audiopaths_sid_text: ValueError: too many values to unpack (expected 3)**

I set print(self.audiopaths_sid_text) to try to analyze the problem, and the result is as follows: [['./Auwa/Auwa_AllAge_00055.wav', 'Auwa_All', 'ㄏㄠˇㄉㄞˇ ㄧㄝˇ ㄕˋ ㄅㄢˋ ㄌㄜ˙ ㄋㄧㄢˊ ㄎㄚˇㄐㄧˋ ㄎㄚˇ ㄉㄜ˙ ㄖㄣˊ, ㄧㄠˋㄕˋ ㄅㄨˋ ㄌㄞˊ, ㄋㄚˋ ㄎㄜˇ ㄌㄤˋㄈㄟˋ ㄌㄜ˙。'], ['./Auwa_18R/Auwa_AdultOnly_00012.wav', 'Auwa_18R', 'ㄏㄚˉ ㄚ˙ㄏㄚˉ ㄚ˙, ㄜˋ ㄅㄨˊㄧㄠˋ~ ㄅㄨˋㄒㄧㄥˊ ㄏㄚˉ ㄣˊ~ ㄋㄧˇ ㄅㄚˇㄕㄡˇ ㄕㄡˇㄓˇ ㄔㄡˉㄔㄨˉㄌㄞˊ。'],……]] And then the same content keeps getting output for about a few dozen lines How should I change data_utils.py to eliminate errors? Or how to find the fault? (I train on Google Colab)

FENRlR commented 1 year ago
File "/content/MB-iSTFT-VITS2/data_utils.py", line 214, in _filter
for audiopath, sid, text in self.audiopaths_sid_text:
ValueError: too many values to unpack (expected 3)* 

This error means that there was an element that contains more than 3 values from self.audiopaths_sid_text. Since each element of self.audiopaths_sid_text originates from a split, you may consider a line in the text file which contains "|" more than twice.

To find that problematic line, you can try something like this :

sus=1
for i in self.audiopaths_sid_text:
    if len(i)>3:
        print(f"line {sus}\n{i}")
    sus += 1

(Duplicate of #9)

Bohemian-self commented 1 year ago

Ok,I know.Thanks very much!