Window 在conda虚拟环境中安装cuda、cuDNN详细教程及后续pytorch环境部署2024(1)
在window系统,在conda虚拟环境中安装cuda12.1、cuDNN
系列文章目录
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官网去找,网址如下
这里就能找到方法去装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安装环境微调大模型还行,用来从头训练大模型不推荐,太鸡肋还问题多多!
更多推荐
所有评论(0)