ChatTTS安装使用过程中CUDA/Pytorch/Cudnn/VisualStudio等相关疑难的解决
一、安装CUDA
-
版本选择
(1) 先查看自己的显卡:
① 首先是否Nvidia卡(据说现在已经开始支持AMD显卡,但本人并未测试,不适用本教程),CUDA是N卡的加速程序。进入
cmd
,使用nvidia-smi
命令查看显卡驱动版本② 升级显卡驱动到最新,到nvidia官网,找到如下图的驱动程序,输入自己的显卡型号,查找
点查看
,然后下载并安装,可能安装完成后要重启电脑。再使用nvidia-smi
命令查看,显卡驱动和CUDA上限版本应该已经更至最新。
(2) 按上述的CUDA上限版本,查看Pytorch网站的适用组合:https://pytorch.org/get-started/locally/
如上图,Pytorch 2.3.1(目前最新版本)能支持的CUDA版本有11.8和12.1两种,当然越新越好,我们选12.1。这就是我们要下载安装的CUDA版本。
访问CUDA Toolkit官网,注意这里默认显示的是最新版CUDA,而我们要下载的是12.1,所以如下点选:
下载完毕后,安装,选精简版本即可。
如果精简版安装过程中出错,则选择自定义
,只勾选最上方的CUDA
一项进行安装:
如果只安装CUDA也报错,则点开左侧的+
号,只选择前3个文件夹安装,安装成功后再回头重新安装剩余几个,这样至少能保证CUDA主体程序安装完成。
PS:Ai-China在安装CUDA的过程中还发现,是否已安装Visual Studio
也会有影响,如果还是无法成功安装CUDA,建议先安装Visual Studio。
安装过后,搜索环境变量设置,双击系统变量
中的path
通过新建,将4个文件路径添加其中:
1 | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin |
到此,CUDA Toolkit安装完成!
二、安装cuDNN
访问官网地址,按自己的操作系统下载最新版本
注意:最新版本不再是此前的安装器,而是个压缩包,下载后打开:
依次分别拖入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
文件夹的同名文件夹下(**注意:**不是复制文件夹后覆盖,而是打开文件夹后,将其中文件添加到对应文件夹内)
将解压后的 cuDNN 文件拷贝到 CUDA 安装目录。假设你的 CUDA 安装在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x
,将解压得到的文件按以下路径拷贝:
cuda\bin
下的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x\bin
cuda\include
下的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x\include
cuda\lib\x64
下的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x\lib\x64
输入以下命令以检查 CUDA 版本,确保它能识别到 NVIDIA GPU:
nvcc -version
或 nvcc -V
如果提示未找到,应该是环境系统变量的path添加问题
至此,CUDA环节全部完成!
三、 Pytorch
torch 和 torchaudio 是 PyTorch 生态系统中的两个重要库,用于深度学习和音频处理。
torch 是 PyTorch 的核心包,用于构建和训练深度学习模型。PyTorch 是一个开源的机器学习库,广泛用于学术研究和实际应用中,特别擅长于计算图和神经网络。
torchaudio 是一个与 PyTorch 兼容的音频处理库,用于音频数据的加载、转换和处理。它与 PyTorch 的张量操作深度集成,便于在音频处理任务中使用。
Pytorch用来在python中调用Cuda。安装好Cuda后仍无法调用GPU进行生成的,应该都是折在这一步。我们来检查一下:
在 ChatTTS
文件夹下创建虚拟环境,执行命令 python -m venv venv
激活虚拟环境,执行 .\venv\scripts\activate
输入命令python
1 | import torch |
如果显示类似下图的文字,则表明torch成功安装:
但还没到高兴的时候,因为这个torch未必是关联了CUDA版本的torch
再输入
1 | import torch |
显示结果多半会是False
。什么意思呢?就是说torch与CUDA(或干脆说GPU)无关联,可以运行,但完全利用CPU!
还可以输入
1 | python |
只要显示torch2.3.1 + cpu
,就表明安装的是使用CPU版的torch,不会调用GPU
Ai-China试过多次Pytorch官网所给的python安装torch+cuda的命令,每次都是如上False
显示。
pip下载torch的过程中可能会报错,可使用国内清华源(在安装命令后面空格并添加以下 -i 内容):
pip install torch==2.3.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple
但要注意的是,Ai-China这边的情况是:无论怎样用上面的命令来下载,得到的torch都是CPU版本的!
也就是说,这个安装命令没有安装带cuda的torch!
没办法了,只好自己动手,手动将带cuda的torch下载到本地,然后本地安装。
直接访问下载官网,如上图查找适合自己的版本(cu121代表cuda12.1,torch 2.3.1是最新稳定版本,cp312代表本地安装的python 3.12,win代表windows系统),将whl文件下载到本地:
因为是供ChatTTS使用,所以不要忘了还要下载对应版本的 torchaudio(即torch的音频版,相对应的还有torchvision,只不过ChatTTS用不到)
下载到本地后,在 ChatTTS
文件夹下运行pip install 下载whl文件的路径
。安装完毕后运行python,检查torch版本
1 | pip show torch |
执行命令:pip install 分别填入刚下载的两个文件的路径
两个都安装好后,再来进行前面的验证:
1 | import torch |
此时就返回True
了,可以用你的N卡显存来生成ChatTTS了!
很快啊!打完收功