jaywalnut310 / vits

VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech
https://jaywalnut310.github.io/vits-demo/index.html
MIT License
6.72k stars 1.23k forks source link

大佬们救救我 AttributeError: 'DistributedDataParallel' object has no attribute 'infer' 报错 #183

Open aaqq112 opened 1 year ago

aaqq112 commented 1 year ago

Traceback (most recent call last): File "train.py", line 294, in main() File "train.py", line 51, in main mp.spawn(run, nprocs=n_gpus, args=(n_gpus, hps,)) File "/home/mubo/anaconda3/envs/pytorch2/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 240, in spawn return start_processes(fn, args, nprocs, join, daemon, start_method='spawn') File "/home/mubo/anaconda3/envs/pytorch2/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 198, in start_processes while not context.join(): File "/home/mubo/anaconda3/envs/pytorch2/lib/python3.7/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 "/home/mubo/anaconda3/envs/pytorch2/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap fn(i, args) File "/home/mubo/project/vits-main/train.py", line 120, in run train_and_evaluate(rank, epoch, hps, [net_g, net_d], [optim_g, optim_d], [scheduler_g, scheduler_d], scaler, [train_loader, eval_loader], logger, [writer, writer_eval]) File "/home/mubo/project/vits-main/train.py", line 227, in train_and_evaluate evaluate(hps, net_g, eval_loader, writer_eval) File "/home/mubo/project/vits-main/train.py", line 253, in evaluate y_hat, attn, mask, _ = generator.infer(x, x_lengths, max_len=1000) File "/home/mubo/anaconda3/envs/pytorch2/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1208, in getattr type(self).name, name)) AttributeError: 'DistributedDataParallel' object has no attribute 'infer' 这个是报错信息

yijingshihenxiule commented 1 year ago

你是用多卡跑吧,报错的这个地方改为 y_hat, attn, mask, * = generator.module.infer(x, x_lengths, max_len=1000)