sovit3折腾实录与教程(2)Colab训练 推理

1134 字
6 分钟
sovit3折腾实录与教程(2)Colab训练 推理

值得一提的是,即使你炼丹在Colab, 推理也依然需要在本地进行

折腾了一下,推理可以在Colab进行了

先给链接:

训练与处理脚本

推理脚本(用我自己三脚猫功夫改的)

正片开始#

打开上面的训练脚本

为了方便后续,建议保存一个副本到你的GoogleDrive

在你GoogleDrive根目录创建一个名为dataset的文件夹

把说话人的数据压缩成zip传到dataset里面

注意是整个文件夹,而不是直接把wav打压缩

请使用zip,避免出现奇奇怪怪的错误

然后在Colab里从上到下点执行就可以,真的很简单

需要改的是“从谷歌云盘加载打包好的数据集进行预处理”这步

把DATASEINAME改成你说话人的名字

然后到训练,如果你是第一次并且选的48k的分支,请按照下面这么设置

_TV___QVZ_1__OCO9O7XM.png
_TV___QVZ_1__OCO9O7XM.png

一直到开始训练,等就好了,比本地简单不知道多少倍

再次训练#

如果你的GPU到限额了啊 或者要关闭网页了,过了一段时间想重新回来炼丹的话

从“已经预处理过数据集的话,就可以跳过预处理部分 直接从云盘解压处理过的数据 以及配置文件”这步开始

当然前面Clone库该是需要的…

等待模型收敛#

看你的TensorBoard,主要看learning_rateloss最后面三个图表,也就是

g/kl g/mel g/total

learning_rate不断下降,且下降幅度放缓

O5QRBLY1Z83VCNTCRTIB__A.png
O5QRBLY1Z83VCNTCRTIB__A.png

g/kl g/mel g/total不断下降,且几乎与X轴平行,下降放缓

0_R__XNIFSE2FM7_8_ZUJ4P.png
0_R__XNIFSE2FM7_8_ZUJ4P.png

就代表模型基本收敛了,这个时候再训练下去可能会过拟合,模型会废

推理#

如果模型收敛了,就可以推理了

这里分两个方法

Colab云端推理#

推理脚本(用我自己三脚猫功夫改的)

保存笔记后,手动把你要转换的wav放到云端的/content/so-vits-svc/raw里面

填一下“从Drive中copy模型与json”从上到下执行就可以了

UC~_YL__3D2DJ1697GY9X6O.png
UC~_YL__3D2DJ1697GY9X6O.png

如果你不需要我的三脚猫功夫,可以手动改

这里说一下要点:

在Colab中,系统命令前需要加一个!(半角)

推理依然需要必要模型

!wget -P hubert/ https://github.com/bshall/hubert/releases/download/v0.1/hubert-soft-0d54a1f4.pt

Drive云盘在挂载后地址为: /content/drive/MyDrive/

下面是详细的

加一个代码

code.png
code.png

在代码框中,你需要多安装一个依赖

!pip install scikit-maad

然后你可以选择手动把模型和config传上去,但这显然不如把Drive挂载后复制:

from google.colab import drive
drive.mount('/content/drive')

注意:推理所需要的是G_开头的模型,而不是D_开头的

大概是这样的:

!cp 你最新模型在挂载后的路径 /content/so-vits-svc/logs/48k/模型名字.pth
!rm -rf /content/so-vits-svc/configs/config.json
!cp 你模型config.json的路径 /content/so-vits-svc/configs/config.json

举个例子:

!cp /content/drive/MyDrive/48k/G_2000.pth /content/so-vits-svc/logs/48k/G_2000.pth
!rm -rf /content/so-vits-svc/configs/config.json
!cp /content/drive/MyDrive/48k/config.json /content/so-vits-svc/configs/config.json

以上为48k分支(也就是main分支),如果你选择32k,那应该是这样

!cp 你最新模型在挂载后的路径 /content/so-vits-svc/logs/32k/模型名字.pth
!rm -rf /content/so-vits-svc-32k/configs/config.json
!cp 你模型config.json的路径 /content/so-vits-svc-32k/configs/config.json

如果你是Colab Pro可以打开命令行,我不行所以我只能改笔记

接下来手动打开inference_main.py并修改

依然是重点改model_path,clean_names,trans,spk_list这几个

model_path改成你训练出最新模型的路径

clean_names改为你raw文件夹中放的wav的文件名,无需.wav结尾

trans为变调,根据实际来调,男模型唱女声大概需要-12~-16

spk_lisk为你说话人的名字,可以支持多个,用半角逗号隔开

18E4__DSN6B@R__D_OE_M6P.png
18E4__DSN6B@R__D_OE_M6P.png

偷懒了,直接复制上一篇的过来

改完之后,加一个代码并运行

!python inference_main.py

run.png
run.png

值得一提的是…即使Colab给了15GB大显存,如果你直接把一首歌不裁剪丢进去也丝毫不妨碍他炸显存

boom.png
boom.png

成功了就把results里的成果下载下来就好了

本地推理#

首先,像上一篇一样配好环境 (这一句话足够折腾几个小时)

然后把Colab里出来的G_开头的.pth模型下载下来,放到你本地的logs/32k或者logs/48k文件夹中

把Colab上的configs/config.json放到和你本地一样的位置,也就是.../configs/config.json中

然后接下来与上一篇基本相同,不细说了

写在最后#

未经允许,禁止转载到国内网站,包括但不限于CSDN等

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

sovit3折腾实录与教程(2)Colab训练 推理
https://cainongw.github.io/posts/sovits3-colab/
作者
Cainong
发布于
2023-02-26
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
sovit3折腾实录与教程(1)本地篇
AI 在此感谢我兄弟@IAW PRC提供的一些技术支持 过程实在太长太折磨,再加上本人上学,时间不多,所以这篇东西写的不会像之前那么详细 免责声明 在开始阅读前,您需要知道: 截至目前,Ai一直是版权重灾区,如果阁下因为不正当使用Ai所造成的侵权与纠纷,需要您本人承担,与作者,也就是我无关 前言 我是一个sb二次元,天天听日语歌几年没碰华语的那种 当然不只是因为华
2
关于使用Ai超分与补帧的一些折腾心得
AI 前言 在B站上刷到了一些音游BGA的120fps版本,感觉很爽? 但是我没会员我看不到啊 刚好闲着无聊,自己研究一下吧
3
记一次从 Hexo Blog 到 Astro Firefly Blog 的迁移
前端 Hexo 目前还是不怎么够我用,一个是 JavaScript 并不是很好写(相较于Astro 而言。一个就是 Hexo 的主题和生态确实远远比不上新的基于 Astro Svelte这些前端框架,因此我决定迁移
4
记一次Chunithm的逆向
逆向 前言 之前写过一篇关于中二的逆向,但是没什么成果,加上我确实没什么逆向的能力,所以删掉重新研究了一下 这次目标依然是实现AutoPlay,得益于Agent的发展,现在我们可以让Agent直接去访问IDA MCP来逆向,我们就不用啃反编译出来的狗屎了
5
基于Hyper-V+RDP对国产软件进行隔离
Hyper-V 前言 因为 某些需要 ,我认为将国产软件与一些科学的服务跑在同一个环境中是不大安全和明智的 所以我决定用Hyper V虚拟机去隔离,同时也能保证我宿主机的简洁
随机文章 随机推荐
Profile Image of the Author
Cainong
Caiw there 👋
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
站点统计
文章
38
分类
16
标签
48
总字数
57,650
运行时长
0
最后活动
0 天前

文章目录