【深度学习】使用Conda虚拟环境安装多个版本的CUDA和CUDNN方便切换

conda虚拟环境安装CUDA和CUDNN

官网教程

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#conda-installation

1. 背景

深度学习用显卡训练的时候,需要安装与显卡对应的cuda和cudnn。但不同的项目所支持的pytorch版本是不一样的,而pytorch版本和cuda版本之间又是互相依赖的,所以如果可以灵活地在不同cuda版本间切换将是非常方便的。anaconda就可以实现这个功能。我们可以在conda创建的不同虚拟环境中安装不同的cuda和cudnn版本,以此来实现不同cuda版本间的切换。

环境1:

环境2

2. 使用Conda安装CUDA

2.1查看自己显卡驱动支持的最高cuda版本 输入nvidia-smi指令来查看。

2.2 创建与激活虚拟环境

c 复制代码
# create conda env 
conda create --name vdisco python==3.10

# env activate
conda activate vdisco

2.3 确定要安装的CUDA版本

c 复制代码
conda search cudatoolkit --info

2.4 下载与安装CUDA

方法一:把cuda下载到本地

首先复制url字段里的下载链接,然后用命令cd到想要下载的目录,执行如下代码下载

c 复制代码
wget [你刚刚复制的链接地址]

安装:执行如下命令进行安装,因为是通过本地安装的,所以需要写明本地包的路径

c 复制代码
# 在特定虚拟环境下安装
conda install --use-local [本地cuda包所在的路径]

方法二:直接安装

在特定虚拟环境下安装

conda install cuda -c nvidia/label/cuda-11.3.1

卸载:

conda remove cuda

3.1 CUDNN

查看:

c 复制代码
# 在特定虚拟环境下
conda search cudnn --info

3.2 在特定虚拟环境下安装

conda install --use-local [本地cudnn包所在的路径]

3.3 版本验证

需要用torch 验证,而不是cudnn

c 复制代码
# 虚拟环境中,进入python环境
import torch

# 查看pytorch版本
print(torch.__version__)

# cuda是否可用
print(torch.cuda.is_available())

# cuda版本
print(torch.version.cuda)

# cudnn版本
print(torch.backends.cudnn.version())

参考:

c 复制代码
https://blog.csdn.net/tyyhmtyyhm/article/details/136863438
https://blog.csdn.net/qq_43705697/article/details/121618276
相关推荐
冬奇Lab23 分钟前
一天一个开源项目(第78篇):MiroFish - 用群体智能引擎预测未来
人工智能·开源·资讯
冬奇Lab30 分钟前
你的 Skill 真的好用吗?来自OpenAI的 Eval 系统化验证 Agent 技能方法论
人工智能·openai
数智工坊37 分钟前
Transformer 全套逻辑:公式推导 + 原理解剖 + 逐行精读 - 划时代封神之作!
人工智能·深度学习·transformer
GreenTea1 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
小程故事多_801 小时前
破除迷思,Harness Engineering从来都不是时代过渡品
人工智能·架构·prompt·aigc
热爱专研AI的学妹1 小时前
Seedance 2.0(即梦 2.0)深度解析:AI 视频正式迈入导演级精准可控时代
大数据·人工智能·阿里云·音视频
Ulyanov2 小时前
用Pyglet打造AI数字猎人:从零开始的Python游戏开发与强化学习实践
开发语言·人工智能·python
lcj09246662 小时前
磁控U位管理系统与DCIM对接实现:筑牢数据中心精细化运维底座
大数据·数据库·人工智能
swipe2 小时前
用 Nest + LangChain 打造 OpenClaw 式 Agent 定时任务系统
人工智能·llm·agent
幻风_huanfeng3 小时前
人工智能之数学基础:动量梯度下降法
人工智能·机器学习·动量梯度下降法