环境背景
- Windows 11 + WSL2 (Ubuntu)
- NVIDIA RTX 5080
- CUDA 12.8
- Python 3.10
问题概述
RTX 50系显卡刚发布,目前Windows版PyTorch还未支持CUDA 12.8。同时,GPT-SoVITS项目与最新版PyTorch存在兼容性问题。主要涉及:
- 类型注解问题(Tuple未定义)
- PyTorch 2.6+的
weights_only参数默认值变更导致的模型加载问题
- 项目路径结构问题
解决方案
1. WSL2环境配置
# 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装支持CUDA 12.8的PyTorch nightly版本
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
2. 验证CUDA可用性
import torch
print(f'PyTorch version: {torch.__version__}')
print(f'CUDA available: {torch.cuda.is_available()}')
print(f'CUDA version: {torch.version.cuda}')
print(f'GPU device: {torch.cuda.get_device_name(0)}')
3. 项目代码修改
需要修改的文件:GPT_SoVITS/AR/modules/patched_mha_with_cache.py和GPT_SoVITS/inference_webui.py
3.1 修复Tuple类型注解问题
# 在patched_mha_with_cache.py文件开头添加
from typing import Tuple
3.2 解决PyTorch模型加载兼容性问题
在inference_webui.py文件中:
# 添加必要的导入
from torch.serialization import add_safe_globals
from utils import HParams
add_safe_globals([HParams])
# 修改模型加载部分
dict_s2 = torch.load(sovits_path, map_location="cuda", weights_only=False)
4. 项目路径结构
确保模型文件位于正确的目录结构:
~/projects/GPT-SoVITS/
└── GPT_SoVITS/
└── pretrained_models/
├── chinese-roberta-wwm-ext-large/
├── chinese-hubert-base/
└── gsv-v2final-pretrained/
5. 启动WebUI
python webui.py --host 0.0.0.0 --port 9880
注意事项
- 建议在WSL2的原生文件系统中操作,而不是在mounted目录(/mnt/)下,以获得更好的性能
- 使用
weights_only=False可能存在安全风险,请确保模型文件来源可信
- 确保系统已正确安装NVIDIA驱动并支持WSL2
常见问题
- 如遇到路径问题,检查模型文件的目录结构
- 如果出现CUDA相关错误,确认PyTorch版本与CUDA版本匹配
- 如遇到模型加载错误,检查是否正确添加了HParams支持
环境背景
问题概述
RTX 50系显卡刚发布,目前Windows版PyTorch还未支持CUDA 12.8。同时,GPT-SoVITS项目与最新版PyTorch存在兼容性问题。主要涉及:
weights_only参数默认值变更导致的模型加载问题解决方案
1. WSL2环境配置
2. 验证CUDA可用性
3. 项目代码修改
需要修改的文件:
GPT_SoVITS/AR/modules/patched_mha_with_cache.py和GPT_SoVITS/inference_webui.py3.1 修复Tuple类型注解问题
3.2 解决PyTorch模型加载兼容性问题
在
inference_webui.py文件中:4. 项目路径结构
确保模型文件位于正确的目录结构:
5. 启动WebUI
注意事项
weights_only=False可能存在安全风险,请确保模型文件来源可信常见问题