本篇是「AI 歌曲翻唱(So-VITS-SVC)」系列教程的一篇,整合包基于 So-VITS-SVC 4.1,适合想用自己声音训练 AI 翻唱模型的同学。说明:本站不提供整合包与现成翻唱模型的下载,但提供 AI 音色模型的定制训练服务。教程内容按原项目文档整理,已去除无关信息。
关于爆显存
如果你在终端或 WebUI 界面的报错中出现了这样的报错:
OutOfMemoryError: CUDA out of memory. Tried to allocate XX GiB (GPU 0; XX GiB total capacity; XX GiB already allocated; XX MiB Free; XX GiB reserved in total by PyTorch)
不要怀疑,你的显卡显存或虚拟内存不够用了。以下是 100% 解决问题的解决方法,照着做必能解决,请不要再在各种地方提问这个问题了:
- 在报错中找到 XX GiB already allocated 之后,是否显示 0 bytes free,如果是 0 bytes free 那么看第2,3,4步,如果显示 XX MiB free 或者 XX GiB free, 看第 5 步
- 如果是预处理的时候爆显存:
- a换用对显存占用友好的 f0 预测器(友好度从高到低:pm >= harvest >= rmvpe ≈ fcpe >> crepe),建议首选 rmvpe 或 fcpe
- b多进程预处理改为 1
- 如果是训练的时候爆显存:
- a检查数据集有没有过长的切片(20秒以上)
- b调小批量大小(batch size)
- c更换一个占用低的项目,例如 DDSP 4.0
- d去 AutoDL 等云算力平台上面租一张大显存的显卡跑
- 如果是推理的时候爆显存:
- a推理源(干声)不干净(有残留的混响,伴奏,和声),导致自动切片切不开。提取干声最佳实践请参考歌曲人声分离
- b调大切片阈值(比如-40调成-30,再大就不建议了,你也不想唱一半就被切一刀吧)
- c设置强制切片,从60秒开始尝试,每次减小10秒,直到能成功推理(别上来就写10秒甚至1秒!推理需要参考上下文的!)推理切片的原理请参考本文档——推理参数详解
- d使用 cpu 推理,速度会很慢但是不会爆显存
- 如果显示仍然有空余显存却还是爆显存了,那就是你的虚拟内存不够大,调整到至少 50G 以上。
常见报错
报错:The system cannot find the path specified.
答:教你一个生活小技巧:压缩包要解压才能使用。
报错:Connection errored out.
答:你把 WebUI 终端都关了当然连接不上了……
报错:页面文件太小,无法完成操作。
答:增大系统虚拟内存大小,方法各种地方都能搜得到,不展开了。
报错:RuntimeError: Current CUDA Device does not support bfloat16. Please switch dtype to float16
答:你的显卡不支持 bf16 训练。如果你选择的是 fp32 还有这个报错的话,请打开你的配置文件,确认 “fp16_run” 一项为 false,并且 “half_type” 为 “fp16”
报错:RuntimeError: DataLoader worker (pid(s) xxxx) exited unexpectedly
答:把虚拟内存再调大一点。
报错:CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling ‘cublasCreate(handle)’
答:爆显存了,基本上跟CUDA有关的报错大都是爆显存……
报错:RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR
答:RTX4090 显卡使用的 CUDA 版本必须是 11.8 以上,AutoDL 云端的部分 4090 机器不满足这个要求,建议换用其他显卡。
报错:torch.multiprocessing.spawn.ProcessExitedException: process 0 terminated with exit code 3221225477
答:调大虚拟内存
报错:’HParams’ object has no attribute ‘xxx’
答:无法找到音色,一般是配置文件和模型没对应,打开配置文件拉到最下面看看有没有你训练的音色
报错:The expand size of the tensor (768) must match the existing size (256) at non-singleton dimension 0.
答:把 dataset/44k 下的内容全部删了,重新走一遍预处理流程
报错:Given groups=1, weight of size [xxx, 256, xxx], expected input[xxx, 768, xxx] to have 256 channels, but got 768 channels instead
答:vec256的模型用了vec768的配置文件,如果上面报错的256的768位置反过来了那就是vec768的模型用了vec256的配置文件,请参考本文的的旧模型兼容,确认你的配置文件和模型维度对应。
报错:RuntimeError: Error(s) in loading state_dict for Unit2Mel:
size mismatch for unit_embed.weight: copying a param with shape torch.Size([256,768]) from checkpoint, the shape in current model is torch. Size([256,1024]).
答:选择 Whisper-PPG 编码器就不能训练 100 步深度浅扩散。
报错:配置文件中的编码器与模型维度不匹配
答:在修改配置文件中的 “speech_encoder” 时修改错了,检查配置文件中的”ssl_dim”一项,如果这项是256,那你的speech_encoder应当修改为”vec256l9″,如果是768,则是”vec768l12″
报错:模型说话人数量与emb维度不匹配
答:配置文件中的”n_speakers”一项与模型中实际的说话人数量不一致。你应当将”n_speaker”修改为大于等于模型中实际的说话人数量。当然,出现这一错误更有可能是你没有选择模型对应的配置文件。
报错:配置文件与模型不匹配
答:配置文件中的模型维度与模型的实际维度不一致。出现这一报错说明没有选择模型对应的配置文件。
报错:扩散模型维度与主模型不匹配,请确保两个模型使用的是同一个编码器
答:扩散模型训练时使用的编码器需要和主模型是同一个,目前扩散模型只支持vec768l12,hubertsoft和whisper-ppg.
报错:所选模型缺少emb_g.weight,你可能选择了一个底模
答:我本来觉得这个报错写得很清楚了,为什么,怎么做都告诉你了,但还是一直有人问。
不要选择G_0底模!! 如果列表里只有G_0说明模型还没保存,别这么急,等800步保存了再来。如果已经800步保存了点一下下面的刷新选项按钮。
报错:Cannot load audio from file: `ffprobe` not found. Please install `ffmpeg` in your system to use non-WAV audio file formats and make sure `ffprobe` is in your PATH.
答:更新到 v2.3.7 之后的整合包。或者手动把 FFmpeg 添加到系统环境变量中。
报错:No module named ‘faiss.swigfaiss_avx2’
答:特征检索模型需要在本地训练本地推理,云端训练的特征检索模型因为环境问题可能无法在本地使用。
报错:Expecting value: line 1 column 1 (char 0)
答:关闭全局梯子
报错:error: emb_g.weight is not in the checkpoint
答:这其实不是报错,首次训练时出现这一条恰恰说明你的底模被成功加载了,属于正常现象,不用担心。
常见问题 FAQ
- 整合包在哪里下载?
医院眼科。
- 我下载的整合包里没有”启动 WebUI.bat”啊?
你大概下成增量更新了。完整整合包在哪下载参考上一个问题。
- A卡 / 苹果用户可以跑吗?
纯小白就算了,老老实实上云端吧,A卡用户可以折腾 ROCm,苹果用户就洗洗睡。
- 为什么开始训练的时候卡着不动了啊?
只要没报错,就是在跑。如果你的数据集不是很大(5小时以下),一般终端会在10分钟以内弹出第一条训练日志输出,如果超过10分钟了还没有任何新的输出日志,尝试增大虚拟内存或改小批量大小后重新开始训练。
- 如果我在训练途中想追加一些数据集该怎么办呢?
需要重新预处理并重新开始训练
- 扩散模型、聚类模型和特征检索模型有什么用啊?有必要训练吗?
RTFM
- 推理的时候等的时间好久,几分钟的音频几十分钟还没转换完是正常的吗?
如果转换进度那里只有转圈圈没有进度条,右上角只有计时器没有 processing 字眼,那说明是 gradio 抽风了,根本没在跑,白等了。建议重启并且把音频切得短一点。
- 看图
@@IMG:https://cdn.nlark.com/yuque/0/2025/jpeg/42660612/1751969154860-b5f470fb-d712-40bf-9438-5ab5eacc9a2c.jpeg@@
@@IMG:https://cdn.nlark.com/yuque/0/2025/jpeg/42660612/1751969141126-86464928-deaf-4669-99eb-a9fda6e3c155.jpeg@@
预处理结果是上图的时候,调大虚拟内存
- WAV
某软件导出的wav音频后缀是 .WAV,需要改成 .wav
一个优秀的提问示例:
大家好,我在使用特征检索模型时遇到了一点问题,终端报错是“No module named ‘faiss.swigfaiss_avx2’”,这是终端报错截图:【完整报错截图】
我用的模型是自己训练的,编码器是vec768l12,配置文件的编码器是对应的。没有加载扩散模型,在加载模型的时候提示的这个报错。如果不加载特征检索模型就可以正常使用。特征检索模型是在云端训练后下载到本地的,在云端推理时可以加载。
查看了文档的常见报错,并没有发现类似的问题。有人知道该怎么解决吗?感激不尽!
一个错误的提问示例:
大佬救命啊!!我推理的时候报错怎么办??
说明:本站不提供文中所述整合包及现成翻唱模型的下载;如果你想要训练属于自己的音色模型(变声 / 翻唱均可),本站提供模型定制训练服务,可先查阅本站训练相关教程,或在会员群内咨询下单。


















微信扫一扫,添加客服
暂无评论内容