欢迎光临散文网 会员登陆 & 注册

比win训练速度更快,不需要等一键包:Linux安装so-vits-svc教程

2023-03-25 17:49 作者:糖和冰  | 我要投稿


话说最近2080Ti炼丹卡价格真是便宜,UP也入手了一张来进行ai训练


折腾了几天发现在Linux下训练速度确实要比win更快(同样的svc版本4.0V1和训练集,batch_size:6,win大约是80s一个epoch,Linux是60s一个epoch),而且配置环境也更省心,但是中间还是有一些坑,所以写了这篇教程,希望能帮助大家节约折腾的时间


本文的目的是让没接触过Linux也能顺利完成安装so-vits-svc,并且可以最快用上新功能(如GUI界面,实时语音转换),所以一切步骤尽力写的通俗详细,但部分步骤仍可能有不清楚的地方,若遇到问题可以在评论区提问,UP看到会第一时间解答


一些新版本更新的小功能


1.音频推理自动切片


在推理的时候,可以直接一首歌直接推理,不需要手动切片,推理时命令行加入:


-cl, --clip:音频自动切片,0为不切片,单位为秒/s。


2.打开tensorboard用图像的方法查看loss


终端输入:

tensorboard --logdir=填你的train.log文件的绝对路径


例如:tensorboard --logdir=/home/cecilia/PycharmProjects/SVCV2PY38T2/so-vits-svc-4.0-v2/logs/44k



3.启动gui界面以及语音实时转换


pip install -U so-vits-svc-fork //安装分支


svcg //启动gui界面


若是遇到 No matching distribution found for PortAudio报错,可以执行下面代码解决


sudo apt-get install libportaudio2

pip install sounddevice



一.安装Ubuntu


  1. 下载Ubuntu,链接为:https://ubuntu.com/download/desktop,选择Ubuntu 22.04.2 LTS即可

  2. 使用balenaEtcher制作启动盘,balenaEtcher下载链接为:https://www.balena.io/etcher


  3. 在计算机上安装Ubuntu


  4. 为了节约篇幅并专注主题,安装Ubuntu的详细教程本文就不详细展开了哦,可参考官方教程:https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview,或在互联网上搜索安装Ubuntu教程


二.安装N卡驱动


  1. 可使用Ubuntu自带“软件和更新”进行一键安装N卡驱动:


  2. 打开“软件和更新”


  3. 点击列表第五个的“附加驱动”,选择“Nvidia driver metapackage 来自 515 (专有)”驱动,并应用(这个515自带的CUDA版本应该是11.7,正好适用于我们安装so-vits-svc的环境)

 4. 安装好重启,打开终端,输入nvidia-smi,如果驱动正常安装,这里会出现Driver版本和CUDA版本还有显卡的使用情况(如果想要一直监视显卡使用情况,可以使用watch命令:watch -n 1 nvidia-smi,即可每秒刷新显示显卡使用情况)


使用本方法安装N卡驱动有可能失败,为了节约篇幅并专注主题,本文仅介绍这一种方法,若安装失败,请在互联网搜索其他安装N卡驱动的方法哦(注意安装的CUDA版本不要超过11.8,因为pytorch目前最新版本只支持11.8,本文建议安装11.7)


三.安装使用conda(可选,强烈建议)


(conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换,通过conda,我们可以方便安装调试各种环境,特别是安装了各种乱七八糟的包导致冲突后,我们可以直接新建一个环境,省心省力)



1. 下载Anaconda,链接为https://www.anaconda.com/products/distribution,下载“64-Bit (x86) Installer”即可


2. 安装conda很简单,输入以下两行代码即可


chmod +x 此处直接把下载好的sh拖进来按回车即可

bash 此处直接把下载好的sh拖进来按回车即可


3.一路按回车和输入yes即可,安装好后,会提醒你重启终端生效,重启终端后,命令行前面出现(base)说明安装成功

4.安装好conda后,我们可以专门为so-vits-svc创建一个新的环境,方便管理so-vits-svc需要的包


conda create -n SVCPY38T3 python=3.8   

//此处创建了一个名叫“SVCPY38T3”,python版本为3.8的环境(python版本推荐使用3.8,UP原来使用的3.10发现安装环境的时候会有大大小小的问题,3.8就很顺利,并且推荐使用官方源,不要换国内源,)




四.安装PyCharm(可选,强烈推荐)


1.(PyCharm可以方便编辑和运行代码,并通过插件自动检查安装包是否符合requirements条件)


2.打开Ubuntu自带应用商店


3.搜索PyCharm,下载即可(如果你是学生,可以使用学生认证免费使用PyCharm Professional,否则直接下载community社区版即可)


4.PyCharm新建一个项目,名称可以随便取,而python解释器选择已经存在的解释器-添加本地解释器-conda环境,选择刚刚创建的conda环境即可


5.打开设置-插件,搜索requirements,可下载自动检查包版本的插件



五.配置环境



1.从https://github.com/svc-develop-team/so-vits-svc 下载你想要的版本(本文以4.0V1为例)


2.把下载好的代码解压后直接拖进PyCharm,并打开目录中的requirements.txt,可以看到PyCharm正在检查包版本,若是包没有安装或者版本不对,会自动标黄提醒我们


3.复制一份requirements.txt到桌面,打开终端输入“conda activate SVCPY38T3“,激活上文创建的名为SVCPY38T3的环境,此时命令行前面的(base)应该会切换到(SVCPY38)


4.输入“pip install -r (把桌面的requirements.txt直接拖进来)”,即可全程自动安装好环境,我们同时可以在PyCharm中看到已经安装好的包



六.试运行以及处理报错


1.把checkpoint_best_legacy_500.pt文件放进hubert目录,把G_0.pth,D_0.pth放进logs/44k目录(底模也可以先不放,先试运行一下,因为底模要是版本不对,也有可能报错的,会加大我们排错的难度),以及数据集放在dataset_raw目录里,然后打开README_zh_CN.md,在里面按照步骤一步一步运行即可


2.不出意外的话,应该没有那么顺利能成功运行,可能会一些报错,我们可以根据报错信息进行逐步排查(以下所有代码请在之前已经创建好的conda环境中进行):



-CPU training is not allowe或者home/cecilia/anaconda3/envs/SVCPY38T2/lib/python3.8/site-packages/torch/xxx…….:这种报错应该是torch问题,我们可以在终端检查torch是否安装好:


打开终端,输入python


然后复制输入下面三行代码,回车:


import torch

x = torch.rand(5, 3)

print(x)


输出结果若为:


tensor([[0.3380, 0.3845, 0.3217],

        [0.8337, 0.9050, 0.2650],

        [0.2979, 0.7141, 0.9069],

        [0.1449, 0.1132, 0.1375],

        [0.4675, 0.3947, 0.1426]])


则说明torch安装了,但是不知道是否打开了gpu加速,我们可以再输入下面代码检查一下:


import torch

torch.cuda.is_available()


若返回true,则说明正确安装了torch并正确使用了gpu加速





解决报错方法:


若第一段代码没有输出结果,则说明torch没有安装好,我们可以打开https://pytorch.org/get-started/locally/,选择并下载你电脑需要的版本安装


若第一段代码有结果,第二段代码返回false,则说明没有正确使用gpu加速,同样,我们可以打开https://pytorch.org/get-started/locally/,选择并下载你电脑需要的版本安装


若第一段代码和第二段代码都正常得到结果,则可能是torch版本问题,我们可以“pip install -U torch”,进行升级torch,up实测,torch2.0也是可以正常运行的,不一定要安装requirements的古老版本



-ModuleNotFoundError: No module named matplotlib或者"/home/cecilia/anaconda/envs/SVCPY38/Lib/python3.8/site-packages/fairseg/checkpoint_utils.py”或者No matching distribution found for librosa:这种报错应该是安装包缺失


解决报错方法:


pip install 报错的包

(如pip install librosa)


-安装pyworld或fairseq的时候报错Could not build wheels for fairseq, pyworld, which is required to install pyproject.toml-based


解决方法:


https://github.com/svc-develop-team/so-vits-svc/issues/66















比win训练速度更快,不需要等一键包:Linux安装so-vits-svc教程的评论 (共 条)

分享到微博请遵守国家法律