news 2026/9/12 14:02:44

如何用 RVC ckpt 处理从训练 checkpoint 提取 60+MB 可分享的推理模型?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 RVC ckpt 处理从训练 checkpoint 提取 60+MB 可分享的推理模型?

如何用 RVC ckpt 处理从训练 checkpoint 提取 60+MB 可分享的推理模型?

【免费下载链接】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-WebUI(RVC)里训练完成后,logs/实验名目录下会留下一个几百 MB 的 pth 文件。这个文件不是用来分享或推理的——FAQ Q4 明确说明:logs 下存储的 pth 是为了保存实验状态、供复现和继续训练;如果你把它复制到 weights 文件夹强行用于推理,可能会出现f0tgt_sr等各种 key 不存在的报错。真正用来分享的,是 weights 文件夹下大小为 60+MB 的 pth 文件。

本文的操作目标就是:通过 WebUI「ckpt处理」选项卡最下面的「模型提取」功能,从训练保存的G_*.pthcheckpoint 提取出 60+MB 的可分享推理模型,并验证它已出现在音色列表中可用于推理。前提是你已按 README 完成环境配置(Python 3.12、安装依赖、下载底模)并能打开 WebUI,且训练已经产生过 checkpoint(训练中途或完成后的logs/实验名下有 G 开头的 pth 文件均可)。

先分清两类 pth 文件

文件位置用途
大 checkpoint(几百 MB)logs/实验名/G_*.pth保存实验状态,供复现、继续训练
小模型(60+MB)assets/weights/(即 weights 文件夹)分享、用于推理

提取操作把前者转成后者:process_ckpt.py 中的extract_small_model会过滤掉enc_q相关权重、将权重转为半精度,并按你选择的采样率写入对应的config,最终保存到assets/weights/<保存名>.pth

在「ckpt处理」选项卡执行提取

打开 WebUI,进入「ckpt处理」选项卡,滚动到最下面的「模型提取」区域(webui.py 中标注为"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况")。依次填写:

  1. 模型路径:填logs/实验名下 G 开头的大文件。文档中的默认示例为E:\codes\py39\logs\mi-test_f0_48k\G_23333.pth,替换为你自己的实际路径即可。
  2. 保存名:小模型保存的文件名(最终保存为assets/weights/<保存名>.pth)。
  3. 目标采样率32k/40k/48k三选一,界面默认40k。选哪个应与该 checkpoint 训练时使用的采样率一致。
  4. 模型是否带音高指导10否,默认1
  5. 模型版本型号v1v2,默认v2
  6. 要置入的模型信息:可选。留空时代码默认写入"从训练检查点提取的模型"。

点击「提取」。点击后「输出信息」显示"成功"即表示提取完成(失败时会显示异常堆栈)。

关于采样率、音高、版本这三项,FAQ 说可以手工选择,也可以自动:当模型路径所在的logs/实验名目录下存在train.log时,填入模型路径后界面会自动从 train.log 读取并回填目标采样率、是否带音高和模型版本(实现见 webui.py 的change_info_);找不到 train.log 或解析失败时不会自动填写,需要按训练时的实际设置手工选择。

验证提取结果

按 FAQ Q4 与 webui.py 的界面逻辑,验证有两步:

  1. 文件出现:提取完成后,weights 文件夹(assets/weights/)下会出现一个新的 60+MB 的 pth 文件,文件名即你填的保存名。
  2. 进入推理列表:点击「刷新音色列表」按钮,该模型出现在可选音色中,即可选择用于推理。

如果想核对模型元信息,可以用同一选项卡的「查看模型信息」功能(仅支持 weights 文件夹下提取的小模型文件):填小模型路径,点「查看」,输出信息会显示模型信息、采样率、是否使用音高指导、版本四项(对应 process_ckpt.py 的show_info)。若此处显示的采样率、音高与你的训练设置不符,说明提取时选项选错,重新提取并核对选项即可。

适用场景与限制

  • 推理训练中间保存的 pth:FAQ Q12 给出的答案就是"通过 ckpt选项卡最下面提取小模型",与本文是同一操作。想测试不同 epoch 的中间模型时,也可以对不同的G_*.pth各提取一份,用不同保存名区分。
  • 训练时自动提取:更新日志 提到 WebUI 支持"按照指定频率保存提取的小模型",用途是尝试不同 epoch 的推理效果而不必每次都手工从大 checkpoint 提取;若你训练时已启用该项,weights 下可能已有小模型,提取中间 checkpoint 只是补充手段。
  • 日志大文件不能直接推理:再次强调,几百 MB 的 logs pth 直接丢进 weights 使用会报f0tgt_sr等 key 不存在的错误,必须经此提取流程。
  • 分享建议:FAQ Q4 指出用于分享的模型是 weights 下 60+MB 的 pth;后续版本计划将weights/exp_name.pthlogs/exp_name/added_xxx.index合并打包成 zip 分享,届时 zip 才是分享物,单独分享 pth 只适用于想换机器继续训练的情况。

提取并确认音色列表可选之后,这个模型文件就可以直接拿去推理或分享了。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 13:54:53

动态环境下无人机协同路径规划与防撞算法实践

1. 项目概述&#xff1a;动态环境下的无人机协同挑战 在物流配送、农业植保、城市安防等领域&#xff0c;多无人机协同作业正成为行业新趋势。但动态环境中的路径规划问题就像高峰期的空中交通管制——每架无人机既要到达目标位置&#xff0c;又要实时避开移动障碍物和其他无人…

作者头像 李华
网站建设 2026/9/12 13:54:34

LangChain Tools:大语言模型的外部交互组件解析

1. LangChain Tools核心概念解析 LangChain Tools是构建智能代理(Agent)的核心组件&#xff0c;它允许大语言模型(LLM)与外部工具和系统进行交互。简单来说&#xff0c;Tools就是LLM的"手"和"眼睛"——让模型不仅能思考&#xff0c;还能执行具体操作。 在…

作者头像 李华
网站建设 2026/9/12 13:53:03

Prometheus监控临时任务的Pushgateway解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 13:51:35

Reflex 接入 Databricks 完全指南:从凭据获取到数据驱动应用落地

Reflex 接入 Databricks 完全指南&#xff1a;从凭据获取到数据驱动应用落地 【免费下载链接】reflex &#x1f578;️ Web apps in pure Python &#x1f40d; 项目地址: https://gitcode.com/GitHub_Trending/re/reflex 导读 本指南讲解如何在 Reflex 应用中接入 Dat…

作者头像 李华