如何使用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无法初始化的问题