网络教程

如何使用A卡(AMD)进行深度学习—so-vits-svc

一、使用前准备

ubuntu22或者ubuntu20系统:https://ubuntu.com/download/desktop
A卡驱动:https://www.amd.com/zh-hans/support
Anaconda:https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
so-vits-svc:https://github.com/svc-develop-team/so-vits-svc/archive/refs/heads/4.0.zip
checkpoint_best_legacy_ 500.pt:https://ibm.box.com/s/z1wgl1stco8ffooyatzdwsqn2psd9lrr
G_0.pth/D_0.pth:https://huggingface.co/Himawari00/so-vits-svc4.0-pretrain-models/tree/main

二、Ubuntu系统安装

如果需要使用A卡做vits-svc训练的话需要安装linux系统,推荐使用ubuntu。ubuntu系统安装方法去问谷歌娘或者度娘,不过需要注意的是ubuntu系统最好安装在单独的硬盘内以免干扰到正常系统的运行,如果你能熟练安装双系统则可以跳过。

三、显卡驱动和rocm安装

1、下载自己型号的显卡驱动,比如我的型号显卡驱动文件是amdgpu-install_5.4.50403-1_all.deb,打开命令(root用户)行执行以下命令

sudo apt install -fy ./amdgpu-install_5.4.50403-1_all.deb
sudo amdgpu-install --no-dkms
sudo apt install rocm-dev
#创建一个名为render/video的新用户,并将其添加到当前用户组中
sudo usermod -a -G render $LOGNAME
sudo usermod -a -G video $LOGNAME

2、执行完以上的命令我们就把显卡驱动和rocm安装完了,然后我们还需要配置一个环境

#RDNA显卡复制以下命令(6600、6700、6800、6900以及xt等其他RDNA架构显卡)
sudo export HSA_OVERRIDE_GFX_VERSION=10.3.0
#GCN显卡复制以下命令(RX580、RX590等其他GCN架构显卡)
sudo export HSA_OVERRIDE_GFX_VERSION=8.0.3

#然后执行下以下命令
sudo source /root/.bashrc

3、所有步骤执行完之后执行下以下命令,确认驱动及rocm安装到位

#查看显卡状态,无异常则正常
rocm-smi
#查看ROCm系统信息
/opt/rocm/bin/rocminfo
#查看opencl相关信息
/opt/rocm/opencl/bin/clinfo

四、Conda的安装以及环境配置

Conda是一个开源的、跨平台的包和环境管理工具,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。它是 Anaconda 发行版的一部分,但也可以单独使用。
1、下载Conda并授权

#这里下载的是Anaconda3-2023.03版本
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh

2、给Anaconda文件授权

#授予文件777权限
chmod -R 777 ./Anaconda3-2023.03-Linux-x86_64.sh
#授予文件可执行权限
chmod +x ./Anaconda3-2023.03-Linux-x86_64.sh

3、执行Anaconda安装程序

bash ./Anaconda3-2023.03-Linux-x86_64.sh

安装过程中让你答yes或no的地方通通答yes,然后安装时会询问安装在哪个目录,建议安装在/opt/anaconda3目录下。上面步骤安装完成后执行以下命令

source /root/.bashrc

4、接下来创建一个python环境

#使用conda activate切换到base目录下
conda activate
#创建一个python3.8版本的环境,当然也可以换成其他版本,环境名为svc01
conda create -n svc01 python=3.8
#创建完成后切换到我们刚刚创建的环境下
conda activate svc01

5、切换到我们刚创建的环境下后就需要安装vits-svc所需要的pip环境了,我们首先下载so-vits-svc,然后解压到任意文件夹,打开文件夹内的requirements.txt文件,将scipy==1.7.3改成scipy==1.8.1,删除torch和torchaudio的两行,然后保存。

6、安装所需pip环境

#修改pip源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

#安装pytorch
pip install torch==1.13.1+rocm5.2 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/rocm5.2

#安装requirements.txt内包
pip install -r requirements.txt

五、so-vits-svc的安装以及使用

在命令行内进入[四-5]所解压的文件夹,然后进行以下操作(建议查看官方文档:https://github.com/svc-develop-team/so-vits-svc/blob/4.0/README_zh_CN.md

1、下载G_0.pth/D_0.pth,放到logs/44k/文件夹下
2、下载checkpoint_best_legacy_ 500.pt,放到hubert文件夹下
3、把要训练的素材放到dataset_raw文件夹下(训练人的声音)
4、把受推理的素材放到raw文件夹下(模仿对象的素材)
5、根据实际情况调整configs/config.json文件
6、重采样至44100Hz单声道

python resample.py

7、自动划分训练集、验证集,以及自动生成配置文件

python preprocess_flist_config.py

8、生成hubert与f0

python preprocess_hubert_f0.py

9、开始训练

python train.py -c configs/config.json -m 44k

10、使用训练的模型进行推理

# 举例
python inference_main.py -m "logs/44k/G_30400.pth" -c "configs/config.json" -n "君の知らない物語-src.wav" -t 0 -s "nen"

六、注意事项

1、A卡训练只能使用linux系统
2、强烈推荐配合conda进行使用,会避免很多环境问题
3、之后需要训练时一定要先切换到创建好的conda环境,不然会报错
4、不建议使用python3.10及以上版本,会有pyworld无法初始化的问题

回复

This is just a placeholder img.