尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

RVC 报 Cuda out of memory 错误怎么排查?

RVC 报 Cuda out of memory 错误怎么排查? RVC 报 Cuda out of memory 错误怎么排查【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI在 Retrieval-based-Voice-Conversion-WebUIRVC中训练或推理时控制台出现Cuda error或Cuda out of memory是文档中明确记录的常见报错。根据项目 FAQ 的判断小概率是 CUDA 配置问题、设备不支持大概率是显存不够out of memory。本文按这个判断顺序给出训练和推理两种情况下的具体处理路径依据是 中文 FAQ、config.py 和训练说明文档。先判断报错属于哪一类FAQ 对Cuda error/Cuda out of memory给出的原因是两类小概率CUDA 配置问题、设备不支持大概率显存不够out of memory。如果是设备不支持可以从 config.py 的设备选择规则中确认项目对 CUDA 设备的规则是显存低于 4 GiB 或 SM 低于 5.3 的卡不会作为 CUDA 设备选用而是回退到 CPUSM 6.1Pascal和 GTX 16 系列SM 7.5的卡使用 fp32更新的 CUDA 卡使用 fp16。没有任何卡满足规则时若安装了torch_directml会回退 DirectML否则回退 CPU。如果你的环境实际落到了 CPU/DirectML或设备名与预期不符属于设备/CUDA 配置这一类应优先解决驱动与设备识别问题而不是继续调参。确认是显存不够之前先看显卡实际显存。训练说明文档 training_tips_en.md 指出 GPU RAM 可以用nvidia-smi命令查看同时 WebUI 训练选项卡有显卡信息栏能显示卡号与显卡的映射关系见 FAQ 中推理怎么选 gpu一条可以在这里确认程序当前用的是哪张卡。显存不够且发生在训练缩小 batch sizeFAQ Q8 对训练场景的处理方法只有一条主线缩小 batch size如果缩小到 1 还不够只能更换显卡训练。操作位置是 WebUI 训练选项卡中的每张显卡的batch_size输入项各语言 locale 中均可见该字段英文界面显示为Batch size per GPU。该参数的含义可以在 training_tips_en.md 中找到batch size 越大训练越稳定但占用更多 GPU 内存。因此排查思路是每次调低一个量级重试直到不再报错调到 1 仍报 out of memory 时文档的结论是换显卡没有进一步的软件层办法。另外注意总 batch_size 在文档更新说明中已改为每张卡的 batch_size见 Changelog_CN.md多卡时按每张卡的显存分别考虑不要按总显存估算。显存不够且发生在推理缩小 config.py 中的四个参数FAQ Q8 对推理场景的处理方法是酌情缩小configs/config.py结尾的x_pad、x_query、x_center、x_max。在当前仓库的 config.py 中这四个值由文件末尾的device_config()方法按精度和显存自动设置注释和数值为if self.is_half: # 6G显存配置 x_pad 3 x_query 10 x_center 60 x_max 65 else: # 5G显存配置 x_pad 1 x_query 6 x_center 38 x_max 41 if self.gpu_mem is not None and self.gpu_mem 4: x_pad 1 x_query 5 x_center 30 x_max 32即fp16 半精度设备文档注释对应 6G 显存配置用 3/10/60/65fp32 设备5G 显存配置用 1/6/38/41显存 4 GiB 及以下再降到 1/5/30/32。如果你的卡命中了当前值但仍报 out of memory在这组值的基础上继续向下调这四个数x_pad最小为 1改完后重新启动推理入口使配置生效再重跑刚才的推理任务确认不再报Cuda out of memory。4G 以下显存显卡的处理边界FAQ Q8 给出的显存边界结论很直接4G 以下显存例如 10603G和各种 2G 显卡可以直接放弃4G 显存显卡还有救。这与 config.py 中显存低于 4 GiB 的卡不选用 CUDA的规则一致。如果你的显存在这条线之下调小 batch size 或 x 参数也解决不了问题文档建议的出路是更换显卡或按 Q7 的方式改用其他机器。顺带区分训练时文件页面/内存 error不是显存问题如果报错出现在训练的数据处理阶段、提示文件页面/内存 errorFAQ Q14 将其归因于进程开太多了内存炸了这里是系统内存而非显存给出两条处理方式提取音高和处理数据使用的CPU进程数酌情拉低训练集音频手工切一下不要太长。这与Cuda out of memory不是同一类问题只在你同时遇到这类报错时参考。小结按 FAQ 的判断顺序走先用nvidia-smi和训练选项卡的显卡信息确认显存与设备是否符合 config.py 的选用规则训练 OOM 就降每张显卡的batch_size降到 1 仍不行则换显卡推理 OOM 就降 config.py 末尾device_config()中x_pad、x_query、x_center、x_max四值4G 以下显存文档明确建议放弃 GPU 训练。【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表