yxlllc / DDSP-SVC

Real-time end-to-end singing voice conversion system based on DDSP (Differentiable Digital Signal Processing)
MIT License
1.87k stars 250 forks source link

Getting error when running python preprocess.py -c configs/reflow.yaml without putting training data #121

Open dernuiJK opened 2 months ago

dernuiJK commented 2 months ago

When I read the readme file, I found that there are many ways to quickly start training. I don’t know which one to use to train the latest model. When I run the training command of 6.0, an error occurs.

I only modified:

encoder_ckpt: pretrain/hubert/hubert-soft-0d54a1f4.pt

Here is the log: (myenv) root@87e1ae1f0284:~/siton-object-3001a1645e66422cb72449fd98c06855/1/DDSP-SVC-master# python preprocess.py -c configs/reflow.yaml 2024-08-20 18:26:06 | INFO | fairseq.tasks.text_to_speech | Please install tensorboardX: pip install tensorboardX /root/miniconda3/envs/myenv/lib/python3.9/site-packages/local_attention/rotary.py:33: FutureWarning: torch.cuda.amp.autocast(args...) is deprecated. Please use torch.amp.autocast('cuda', args...) instead. @autocast(enabled = False) /root/miniconda3/envs/myenv/lib/python3.9/site-packages/local_attention/rotary.py:55: FutureWarning: torch.cuda.amp.autocast(args...) is deprecated. Please use torch.amp.autocast('cuda', args...) instead. @autocast(enabled = False) /root/siton-object-3001a1645e66422cb72449fd98c06855/1/DDSP-SVC-master/encoder/rmvpe/inference.py:14: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature. ckpt = torch.load(model_path) [Encoder Model] Content Vec [Loading] pretrain/hubert/hubert-soft-0d54a1f4.pt /root/miniconda3/envs/myenv/lib/python3.9/site-packages/fairseq/checkpoint_utils.py:315: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature. state = torch.load(f, map_location=torch.device("cpu")) Traceback (most recent call last): File "/root/siton-object-3001a1645e66422cb72449fd98c06855/1/DDSP-SVC-master/preprocess.py", line 185, in units_encoder = Units_Encoder( File "/root/siton-object-3001a1645e66422cb72449fd98c06855/1/DDSP-SVC-master/ddsp/vocoder.py", line 190, in init self.model = Audio2ContentVec768L12(encoder_ckpt, device=device) File "/root/siton-object-3001a1645e66422cb72449fd98c06855/1/DDSP-SVC-master/ddsp/vocoder.py", line 307, in init self.models, self.saved_cfg, self.task = checkpoint_utils.load_model_ensemble_and_task([path], suffix="", ) File "/root/miniconda3/envs/myenv/lib/python3.9/site-packages/fairseq/checkpoint_utils.py", line 425, in load_model_ensemble_and_task state = load_checkpoint_to_cpu(filename, arg_overrides) File "/root/miniconda3/envs/myenv/lib/python3.9/site-packages/fairseq/checkpoint_utils.py", line 343, in load_checkpoint_to_cpu state = _upgrade_state_dict(state) File "/root/miniconda3/envs/myenv/lib/python3.9/site-packages/fairseq/checkpoint_utils.py", line 585, in _upgrade_state_dict {"criterion_name": "CrossEntropyCriterion", "best_loss": state["best_loss"]} KeyError: 'best_loss'