Windows 11在conda虚拟环境中安装cuda、cudann

复制代码
前言:此篇文章以Pytorch2.0.0+CUDA11.8+cuDNN8.9.2为例

1、为什么要在虚拟环境中安装cuda、cudann?

(1) 隔离依赖

虚拟环境可以帮助隔离不同项目所需的依赖库和版本,避免冲突。例如,不同项目可能需要不同版本的 CUDA 或 cuDNN 来支持特定的深度学习框架(如 TensorFlow、PyTorch)的版本要求。将这些库安装在虚拟环境中,确保每个项目使用其特定的版本,避免系统环境中的全局冲突。

(2)方便管理和维护

在虚拟环境中安装 CUDA 和 cuDNN 可以简化管理和更新流程。例如,针对某个项目进行版本升级或降级时,可以在虚拟环境内更改依赖而不会影响到其他项目的运行。

(3)提升兼容性

在深度学习开发中,不同的深度学习框架(如 TensorFlow 和 PyTorch)可能对 CUDA、cuDNN 的版本有不同的要求。在虚拟环境中安装专用版本,能够确保不同项目在不同的依赖版本下正确运行,避免在系统范围内安装多个版本而导致冲突。

(4)方便迁移和部署

使用虚拟环境将 CUDA、cuDNN 和项目代码、库等绑定在一起,便于在不同的机器上进行迁移或部署。这样可以确保在另一台机器上运行时,环境一致,减少因环境差异带来的问题。

(5)快速重置环境

在开发和测试中,可能需要快速重置或重建环境。将 CUDA 和 cuDNN 安装在虚拟环境中,可以更方便地删除或重建,而不会影响到全局的系统配置。

2、虚拟环境

(1)创建conda虚拟环境

conda create -n name python=3.x

python 复制代码
conda create -n chatGLM python=3.9

(2)激活conda虚拟环境

conda activate name

python 复制代码
conda activate chatGLM

ps:后面的操作均在激活的虚拟环境执行

(3)查看CUDA版本

系统的 CUDA 驱动版本决定了支持的最高 CUDA Toolkit 版本,并且该驱动对低版本的 CUDA Toolkit 具有向下兼容性。

python 复制代码
nvidia-smi

比如我的CUDA Version=12.7,那么它就可以支持 ≤ 12.7版本的CUDATookit

(4)安装cudatoolkit和cudnn包

查看支持的cuda版本

python 复制代码
conda search cudatoolkit
或者
conda search cudatoolkit --info

进入pytorch官网:网址

复制

python 复制代码
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia

出现done完成!如果出现以下情况,再试一次;

安装特定版本的cuda:

python 复制代码
conda install cuda -c nvidia/label/cuda-11.8.0
conda install cuda-cudart-dev -c nvidia
或者
conda install nvidia/label/cuda-11.8.0::cuda --channel nvidia/label/cuda-11.8.0

如果出现:

python 复制代码
conda install -c nvidia cuda-nvcc=11.8.89 --clobber

安装指定版本的cudnn:

python 复制代码
conda install cudnn=8.9.2

pip list查看是否安装完成

验证是否安装成功:

python 复制代码
python
import torch
torch.cuda.is_available()

出现true即为环境搭建成功!

相关推荐
cc_瀚海知行16 小时前
工具调用 6|助手什么时候该停下来?
java·服务器·前端·人工智能·python·ai
?abc!16 小时前
(动态规划+DFS)494. 目标和
算法·深度优先·动态规划
信奥卷王16 小时前
[GESP202406 六级] 二叉树(含视频)
数据结构·算法
溪语流沙17 小时前
【Web全栈进阶】Nginx反向代理 + HTTPS:正式上线
前端·vue.js·python·nginx·https·fastapi
全栈弄潮儿17 小时前
Python实战第11期:面向对象编程基础
后端·python·编程语言
惊鸿一博17 小时前
Plücker直线_ 用两个三维向量描述一条空间直线
线性代数·算法·直线·几何表示
估值探索者17 小时前
【Python量化技术指标实战 02】MACD金叉也分强弱?手工算一次 DIF/DEA 就懂了
java·开发语言·python·股票数据·股票数据api接口
小道士写程序17 小时前
Rust 中的字符串与切片(String 与 &str)
算法
魔都吴所谓17 小时前
【我的开源】Python实现一个离线 PDF 工具箱:架构、骑缝章与踩坑记录
python·pdf·开源
Tisfy17 小时前
LeetCode 3863.将一个字符串排序的最小操作次数:分类讨论(一次遍历)——简单易懂版
算法·leetcode·字符串·题解·分类讨论