yxlllc/DDSP-SVC

ImportError 内存资源不足,无法处理此命令

shoucandanghehe opened this issue · 4 comments

❯ python train_diff.py -c configs/diffusion-new.yaml
Traceback (most recent call last):
  File "train_diff.py", line 7, in <module>
    from diffusion.vocoder import Vocoder, Unit2Mel, Unit2Wav
  File "D:\AI\DDSP-SVC\diffusion\vocoder.py", line 11, in <module>
    from ddsp.vocoder import CombSubFast
  File "D:\AI\DDSP-SVC\ddsp\vocoder.py", line 7, in <module>
    import parselmouth
ImportError: DLL load failed while importing parselmouth: 内存资源不足,无法处理此命令。

但是我还有20G空闲内存?

解决方法是先把parselmouth导进来(?
image
image

yxlllc commented

你可以把diffusion-new.yaml里的cache_all_data选项设为False关闭缓存数据以节省内存,代价是训练速度可能会略微降低

应该跟cache没关系,这还在import就爆了,而且只需要先把parselmouth导进来 之后的训练都可以正常进行
我更倾向于是这库或者py的内存管理有些神秘的bug?

顺便一提原版代码那个ImportError也不是一直有的,偶尔就可以正常运行

我按照你的加入import parselmouth这行代码依旧没解决问题