系列文章目录

1.安装cuda、cuDNN(1)

2.pytorch及对应cuda安装(2)

3.xformer及flash_attn安装等加速包的安装(3)


文章目录


前言

将cuda安装在window系统是很麻烦的,不同大佬的项目要求的torch、cuda版本都不一样,cuda版本装高了就容易出BUG,低了就跑不了,网上很少有window的教程,这里补充一下,十分建议大家一个项目一个环境,每次复现别人论文,项目,做大作业直接新配个环境就行,省时省力,下文会安装cudatoolkit11.8及12.1及对应cudnn版本(目前的主流版本)。


一、安装显卡驱动及miniconda

  网上有很多教程教你装Nvida的显卡驱动了,Nvida的显卡驱动是一定要装的,怕麻烦可以直接装NVIDIA app,但是会有更新驱动提示,这里不多说了就提两点关键的,一是要看驱动支持最高cuda版本,在虚拟环境的安装的cuda版本也不能超过这个版本(cuda版本向下兼容),在显卡驱动被正确安装的前提下,在命令行cmd里输入nvidia-smi.exe,效果如图所示

 二是要window要安装Visual Studio tools,社区版就行,网址为下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux,主要用来配置C++的编译工具,安装位置可以自己选择,主要Visual Studio配置如下图:

二、在虚拟环境中安装cuda、cuDNN

1.安装miniconda

 Miniconda 是一个 Anaconda 的轻量级替代,默认只包含了 python 和 conda,但是可以通过 pip 和 conda 来安装所需要的包和创建虚拟环境,个人比较推荐,Anaconda偏重了,会越用越卡。

可以去清华镜像源下载Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

注意: Miniconda的python版本并不影响你创建虚拟环境的最高版本,Minicondapy3.10能创建py3.12的虚拟环境,Miniconda更多的作用就是一个虚拟环境管理器

具体安装教程网上一推,我就不仔细讲了 

2.安装cuda、cuDNN

启动Anaconda prompt(不会自己去学),创建虚拟环境并激活(python版本推荐3.11或者3.10)

conda create -n ComfyUI python=3.10
conda activate ComfyUI

使用conda搜索cudatoolkit包,看看能安装什么版本

conda search cudatoolkit

 

会发现没有cudatoolkit==12.1及之后的版本,这时就需要去force-conda官网去找,网址如下

Cuda Toolkit | Anaconda.org

这里就能找到方法去装cudatoolkit更高版本,在命令行输入

conda install nvidia/label/cuda-12.1.0::cuda-toolkit

 就能安装cudatoolkit==12.1版本了,后续在安装cuDNN

conda search cudnn

 

这里有支持cuda12.1的版本就直接

conda install cudnn==9.1.1.17

 注意:我的实测这过程有两大坑,一是可能会遇到如下报错:

经测试该报错不影响使用,可以忽略,有懂的大佬可以说一下怎么解决。

二是如果你安装的是cudatoolkit==11.8及对应的cudnn,还需要执行如下命令:

conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc

 才能通过测试。


3.测试是否成功

在命令行输入nvcc -V,弹出你下载cuda的版本就成功。

如果还不放放心,就安装pytorch+cuda版本,国内推荐使用阿里云镜像, pytorch-wheels安装包下载_开源镜像站-阿里云

网上安装教程多的是,就不多讲了 

之后使用torch检测:

import torch
# 检查 CUDA 是否可用
print(f"CUDA available: {torch.cuda.is_available()}")
# 如果 CUDA 可用,打印当前设备名称
if torch.cuda.is_available():
    print(f"Current device: {torch.cuda.get_device_name(0)}")
# 获取 CUDA 版本并打印
cuda_version = torch.version.cuda
print(f"CUDA Version: {cuda_version}")
# 获取 cuDNN 版本及可行性
cudnn_version = torch.backends.cudnn.version()
print(f"cuDNN Version: {cudnn_version}")
print(f"cuDNN available: {torch.backends.cudnn.is_available()}")

 结果如下:

cuDNN的版本号会错,但是经实测cuDNN会加速, cuDNN能可行,应该是window的问题

总结:

个人推荐安装cu11.8版本及对应cudnn,用来Al出图及大部分大模型够用了,如果要部署多模态大模型的话就就建议使用cuda12.1,多模态一般都要使用flash-attnetion加速(否则很慢),目前window系统下,flash-attnetion只支持cuda12.1及以上的版本。

最后最后拿window安装环境微调大模型还行,用来从头训练大模型不推荐,太鸡肋还问题多多!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐