Ubuntu 24.04.2 LTS 使用AMD RX 6650XT 运行 GPT-SoVITS 适配最新的V3版本(2025年3月)

一、背景

最近在网上看到了 GPT-SoVITS 这个项目,可以模仿各种声音,就感觉很有趣,想在自己的电脑上部署使用,但是我的电脑是AMD显卡,网络的教程基本上都是英伟达(NIVADA)显卡的,AMD显卡的教程比较少,经过一番折腾,也总算是用的上了。

二、参考材料(点击可以访问)

我在网上找到了这几个教程,每个都参考了一些,感谢大佬们的分享

  1. AMD显卡满血Stable Diffusion(SD+Fooocus+ComfyUI)无脑部署笔记(Linux+ROCm6.3.3)[长期更新] - MarKA的文章 - 知乎
  2. AMD显卡GPT-SoVITS-WebUI部署笔记(Linux + ROCm) - MarKA的文章 - 知乎
  3. AMD显卡使用ROCM运行GPT-SoVITS要用到的命令- (高三备考-金铭-诹访子) - 哔哩哔哩
  4. 专属AMD显卡的声音克隆! - baother的文章 - 知乎
  5. GPT-SoVITS指南-bilibili@白菜工厂1145号员工

三、安装流程

(一)硬件设备

  1. CPU :AMD Ryzen 7 5700X 8-Core Processor
  2. 显卡:AMD Radeon RX 6650 XT 8G
  3. 内存:32G

(二)软件条件

  1. Ubuntu Ubuntu 24.04.2 LTS 桌面版,
  2. 其他版本的 Ubuntu 系统我没试过,根据其他教程的经验,应该也是可以

(三)具体流程

1. 更新软件

# 打开 Ubuntu 终端(快捷键:Ctrl + Alt +T)
# 更新软件
sudo apt update && apt upgrade

2.安装 AMD 显卡驱动

# 下载 AMD 显卡驱动
# 驱动下载网址:https://www.amd.com/zh-cn/support/download/linux-drivers.html
# 下载自己 Ubuntu 系统的显卡驱动安装包(截止到3月19日,下载后的文件名称是:amdgpu-install_6.3.60304-1_all.deb)
# 离线安装显卡驱动包
sudo dpkg -i /home/下载/amdgpu-install_6.3.60304-1_all.deb  # -i 后面输入刚刚下载的deb文件路径

# 下面是驱动下载截图示意

3.安装 ROCm

# 安装 AMD 的 ROCm 
# 还是驱动下载网址:https://www.amd.com/zh-cn/support/download/linux-drivers.html
# 找到和 Ubuntu 系统对应的 ROCm ,点击蓝色字体 Driver Details ,会显示代码
# 一行行输入到终端中
sudo apt update
wget https://repo.radeon.com/amdgpu-install/6.3.4/ubuntu/jammy/amdgpu-install_6.3.60304-1_all.deb
sudo apt install ./amdgpu-install_6.3.60304-1_all.deb
sudo amdgpu-install -y --usecase=graphics,rocm
sudo usermod -a -G render,video $LOGNAME

# 下面是安装 ROCm 截图示意

4. 检查显卡驱动以及 ROCm 是否安装成功

# 重启电脑
reboot

# 如果重启电脑之后无法开机,可能是哪里错了
# 我之前参照网上的方式下载驱动以及 ROCm ,不知道哪一步搞错了,导致开机黑屏,无法进入桌面,折腾了好久
# 因此我上面写的安装AMD 显卡驱动以及ROCm 都是去官网找的
# 可以自行上网搜索如何不使用显卡开机,然后卸载刚刚安装的驱动,再重启看看是否能正常开机
# 如果正常开机,我们正常往下走
# 查看显卡驱动以及 ROCm 是否安装成功打开终端
sudo rocminfo

# 可以看到以下 CPU、显卡等具体信息(这里我截取了关键信息)
  ---
  Name:                    AMD Ryzen 7 5700X 8-Core Processor 
  Uuid:                    CPU-XX                             
  Marketing Name:          AMD Ryzen 7 5700X 8-Core Processor 
  Vendor Name:             CPU  
  ---
  Name:                    gfx1032                            
  Uuid:                    GPU-XX                             
  Marketing Name:          AMD Radeon RX 6650 XT              
  Vendor Name:             AMD   
  
  ---
  
# 截止到以上,就已经完成了Ubuntu 系统 AMD 显卡驱动以及对应的 ROCm 的安装

5. 配置环境

(1)使用 miniconda 创建虚拟环境,对 python 进行统一管理

# 下载最新的 miniconda 安装脚本(我发现这个链接一直都是下载最新的安装脚本)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 运行脚本
bash ./Miniconda3-latest-Linux-x86_64.sh

# 安装的时候会提示确认信息,可以根据提示按 ENTER 或者输入 yes,按方向键阅读协议,可看参考材料第一篇


# 重新打开终端,输入以下命令禁用自动进入基础 conda 环境
conda config --set auto_activate_base false


# 重新打开终端,创建一个虚拟环境用来部署 GPT-SoVITS,同时安装 python3.9
# 我试了 python3.9 以及 python3.10.6 不知道为啥,python3.10.6 我运行的时候有点 bug 
# 因此我用的还是 python3.9,并且需要注意 python 版本不得大于3.11
conda create -n GPTSoVITS python=3.9 # 这里的 GPTSoVITS 是虚拟环境的名称,可根据自己更改
# 激活刚刚创建的虚拟环境,激活后终端左边会显示虚拟环境名称
conda activate GPTSoVITS


# 退出终端,重新打开终端,重新激活刚刚创建的虚拟环境 GPTSoVITS
conda activate GPTSoVITS

# 从这开始,后面文档中涉及的命令都是在虚拟环境 GPTSoVITS 中运行!
# 从这开始,后面文档中涉及的命令都是在虚拟环境 GPTSoVITS 中运行!
# 从这开始,后面文档中涉及的命令都是在虚拟环境 GPTSoVITS 中运行!

# 安装 ffmpeg
conda install -c conda-forge 'ffmpeg<7'

# 安装 torch、torchvision 和 torchaudio
# 这里我是直接参照 pytorch 官网中提供的链接安装的最新版
# 官网链接:https://pytorch.org/get-started/locally/
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3

(复制这段代码到终端中运行)

(2)跳过大文件下载(这里是个小插曲):

在终端中输入官网的 pytorch 下载链接,就会开始进行下载,我下载的时候只有不到 300 kb/s,会有很多个文件需要下载,甚至有一个 4.5G 后缀为 whl 的文件需要下载,等下载完要十几个小时,我思考了一下,这可不行呀,只能另辟蹊径了,最后发现成功了,我也很佩服我自己,哈哈哈哈哈。

就是通过专业下载工具(我用的IDM,也可以使用其他多线程下载工具),快速下载 4.5G 的文件,然后再把它移动到虚拟环境中的指定目录。

等 pip3 下载到 4.5G 的文件时,右键复制下载链接,然后用IDM下载,下载后的文件名是这个(torch-2.8.0.dev20250314+rocm6.2.4-cp39-cp39-manylinux_2_28_x86_64.whl),我发现这个文件名的日期是会变,因此一定要确保 下载的文件名称 和 下载链接中的名称一致。

(复制 4.5G 文件地址:https://download.pytorch.org/whl/nightly/rocm6.3/torch-2.8.0.dev20250318%2Brocm6.3-cp39-cp39-manylinux_2_28_x86_64.whl

(上图为下载完成后的文件,左边是解压后的文件夹,右边是 whl 文件)

(进入解压后的文件夹,可以看到有四个文件夹,复制这 4 个文件)

打开 Ubuntu 文件管理器,找到 /home/用户名/miniconda3/envs/GPTSoVITS/lib/python3.9/site-packages/

如果用的是 root 运行的 conda ,则是在 /root/miniconda3/envs/GPTSoVITS/lib/python3.9/site-package/

将刚刚复制的4个文件夹,放在 site-package 下面

(3)继续下载 torch torchvision torchaudio

# 如果终端还在下载东西,则输入ctrl + c 键,中断 pip3 的下载进度
# 重新运行下载 torch torchvision torchaudio 的命令
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2.4

# 此时就会跳过下载这个 3.7G 的大文件

6. 下载 GPT-SoVITS 整合包(去官网下载)

GPT-SoVITS 整合包下载地址:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#

选择适合自己的下载方式,下载,解压

7. 安装 GPT-SoVITS 运行必须的 python 库

# 激活虚拟环境 GPTSoVITS,已激活的请忽略
conda activate GPTSoVITS

# 进入刚刚解压后的整合包文件夹(文件夹路径根据实际替换)
cd /media/GPT-SoVITS-v3lora-20250228 


# 安装 GPT-SoVITS 运行必须的 python 库(pip下载慢的话的话,可以使用国内下载源,我用的清华源)
pip3 install -r requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 稍等一会,就会安装完成

8. 运行 GPT-SoVITS

# 在解压后的整合包文件夹下载,输入,回车,即可运行,此时会打开浏览器网页

HSA_OVERRIDE_GFX_VERSION=10.3.0 python webui.py --listen
关于 HSA_OVERRIDE_GFX_VERSION 不太正确的知识(按钮点击左侧查看)

内容由腾讯元宝的 deepseek 生成

HSA_OVERRIDE_GFX_VERSION 是一个与 HSA(Heterogeneous System Architecture,异构系统架构) 相关的环境变量,通常用于调试或兼容性测试。它的作用是 覆盖系统自动检测到的 GPU 架构版本,强制让程序或驱动以指定的 GPU 架构(GFX 版本)运行。


作用解析

  1. 什么是 GFX 版本?
    • GFX 是 AMD GPU 架构的内部代号,例如:
    gfx900 对应 Vega 10(如 Radeon RX Vega 系列)
    gfx906 对应 Vega 20(如 Radeon VII)
    gfx1030 对应 RDNA2(如 RX 6000 系列)
    • 不同 GFX 版本代表不同的硬件架构和指令集。
  2. 为何需要覆盖?
    调试或兼容性测试:开发者可能需要模拟不同 GPU 架构的行为。
    绕过驱动/硬件检测问题:当系统错误识别 GPU 架构时,强制指定正确版本。
    兼容旧版软件:某些 HSA 运行时或库可能需要特定 GFX 版本的支持。

使用示例

假设你的 GPU 实际是 gfx906(Vega 20),但希望程序以 gfx900(Vega 10)运行:

export HSA_OVERRIDE_GFX_VERSION=9.0.0 # 对应 gfx900
# 或直接使用 GFX 代号
export HSA_OVERRIDE_GFX_VERSION=gfx900


注意事项

风险:错误设置可能导致程序崩溃或性能问题,需谨慎使用。
依赖版本:不同 HSA 运行时(如 ROCm)对 GFX 版本的支持不同,需参考官方文档。
查看实际 GFX 版本

rocminfo | grep "Name: gfx" # 在支持 ROCm 的系统上


典型应用场景

  1. 开发异构计算应用:测试代码在不同 GPU 架构下的兼容性。
  2. 解决驱动问题:当系统未正确识别 GPU 时,手动指定正确的版本。
  3. 性能调优:针对特定架构优化代码时,避免自动检测的干扰。

如果需要更具体的配置建议,建议查阅 AMD ROCm 或相关 HSA 实现的官方文档。


9. 运行时遇到的各种问题

(1)首先我们解决无法显示 AMD 显卡问题

(上图未正确显示 AMD 显卡信息)

**思路:**根据 专属AMD显卡的声音克隆! - baother的文章 - 知乎 文章的内容,可以知道,webui.py 中对显卡型号进行了判定,我们修改添加自己的显卡型号即可。

解决方法:

  1. 编辑整合包 GPT-SoVITS- 文件夹下的 web-ui.py 文件
  2. 找到第 77 行 ,判断是否有能用来训练和加速推理的N卡
  3. 在 ok_gpu_keywords 中添加 AMD 显卡型号,注意标点符号都是英文的标点符号(具体看图片示意)
  4. 修改后,保存,重新在终端中运行: HSA_OVERRIDE_GFX_VERSION=10.3.0 python webui.py --listen

(上图为原来 web-ui.py 的截图)

(上图为修改后 web-ui.py 的截图)

玄学:如果还是不行的话,下载 专属AMD显卡的声音克隆! - baother的文章 - 知乎 文章中提供的修改版 webui.py (点击可下载),替换掉官方整合包里的,然后运行,运行后如果可以正常显示显卡,再把官方的替换回去,重新修改第 77 行 ,看看是否有效,我的成功了

(2)点击 “开启 GPT训练” 时,提示以下错误
  File "/media/hlp/小固态硬盘/GPT-SoVITS-v3lora-20250228/GPT_SoVITS/AR/modules/patched_mha_with_cache.py", line 41, in <module>
    ) -> Tuple[Tensor, Optional[Tensor]]:
NameError: name 'Tuple' is not defined

解决方法:

  1. 找到整合包中 GPT-SoVITS/GPT_SoVITS/AR/modules 文件夹下的 patched_mha_with_cache.py 文件
  2. 在代码最前面,新增一行,输入以下代码:
from typing import Tuple

(在代码最前面,新增一行,输入以下代码)

(3)点击 “开启TTS推理WebUI”时,提示以下错误:
  File "/media/hlp/小固态硬盘/GPT-SoVITS-v3lora-20250228/GPT_SoVITS/text/LangSegmenter/langsegmenter.py", line 11, in <module>
    fast_langdetect.ft_detect.infer.CACHE_DIRECTORY = Path(__file__).parent.parent.parent / "pretrained_models" / "fast_langdetect"
AttributeError: module 'fast_langdetect' has no attribute 'ft_detect'

解决方法:

  1. 找到整合包中 GPT-SoVITS/GPT_SoVITS/text/LangSegmenter/文件夹下的 langsegmenter.py 文件
  2. 找到以下代码,注释,并新增代码
# 更改fast_langdetect大模型位置
# from pathlib import Path
# import fast_langdetect
# fast_langdetect.ft_detect.infer.CACHE_DIRECTORY = Path(__file__).parent.parent.parent / "pretrained_models" / "fast_langdetect"

上面的代码需要注释掉

------------------------------------------------------

下面的代码需要新增的


from pathlib import Path
import fast_langdetect

# 设置模型缓存路径
fast_langdetect.CACHE_DIRECTORY = Path(__file__).parent.parent.parent / "pretrained_models" / "fast_langdetect"

(上面的代码注释掉,下面的代码需要新增)

(4)点击 “合成语音”时,提示以下错误:
File "/home/hlp/miniconda3/envs/GPTSoVITS/lib/python3.9/site-packages/nltk/data.py", line 579, in find
    raise LookupError(resource_not_found)

**思路:**根据 B站 高三备考-金铭-诹访子AMD显卡使用GPT-SoVITS的教程 ROCm6 Ubuntu系统 完全正常使用 视频内容方法,下载好必要文件,放入指定文件夹即可。


解决方法(待确认,好像有点问题):

  1. 访问 github 的nltk/nltk_data**,地址:**https://github.com/nltk/nltk_data
  2. 下载整个包
  3. 解压后,将 packages 重命名为 nltk_data ,复制到指定文件夹(见下图)

(下载整个包)

(下载完后,解压,将 packages 重命名为 nltk_data ,复制到指定文件夹)

(将 packages 重命名为 nltk_data,可以放在这里的任意一个文件夹下,根据自己的用户名找文件夹,没有用的话,可以放在用户的主文件夹下,例如:/home/hlp/)

四、未完待叙……

### 关于 Ubuntu 24.04.2 LTS 安装过程中的卡住问题 在安装 Ubuntu 24.04.2 LTS 的过程中遇到卡住的情况可能是由多种原因引起的,以下是可能的原因分析以及对应的解决方案: #### 可能原因及解决方法 1. **硬件兼容性问题** 如果目标设备的硬件不完全支持该版本的操作系统,可能会导致安装程序无法正常运行。建议尝试启用 BIOS 中的虚拟化技术(Intel VT 或 AMD-V),并确保 VirtualBox 版本最新的[^1]。 2. **引导模式冲突** UEFI 和 Legacy BIOS 模式的错误设置可能导致安装卡住。如果使用的是较新主板,默认情况下通常会启用了 Secure Boot 功能,这可能会干扰某些操作系统的启动流程。可以尝试禁用 Secure Boot 并切换到 Legacy BIOS 模式来解决问题。 3. **磁盘分区问题** 在安装过程中,如果自动分配磁盘空间失败或者手动调整分区时出现问题也可能造成进程停滞。可以通过预先创建好虚拟硬盘文件,并指定其大小和格式为 `VDI` 来规避此风险。另外,在实际执行前确认所选存储路径有足够的剩余容量可用也很重要。 4. **网络连接异常** 若选择了在线更新组件选项而当前互联网状况不佳,则容易引发超时现象进而使整个进度暂停等待响应。此时可以选择离线方式进行纯净版部署后再单独完成必要的补丁升级工作[^3]。 5. **图形界面加载失败** 对于部分显卡来说可能存在驱动缺失情况从而阻止了 GUI 登录屏幕显示出来致使看起来像是被冻结了一样。针对这种情况可考虑按照如下步骤处理: - 使用命令行终端登录 (Ctrl+Alt+F1~F6),输入用户名密码进入shell环境; - 更新软件包索引表并通过APT工具获取所需依赖项:`sudo apt-get update && sudo apt-get upgrade`; - 接着依据具体需求决定是否要重新安装桌面环境或者是更换视频渲染引擎比如上述提到过的dummy driver 方法[^2]. ```bash # 示例代码用于演示如何通过SSH访问服务器端口转发功能实现远程调试目的 ssh -L 3389:localhost:3389 user@your-vps-ip-address ``` 以上就是关于Ubuntu 24.04.2 LTS安装期间可能出现卡顿的一些常见因素及其对应措施概述。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值