使用虚拟环境conda安装不同版本的cuda,cudnn,pytorch

背景:在学习深度学习时,我们不可避免的需要跑多个神经网络,而不同的神经网络环境都不一样,所以必须要使用到虚拟环境(如conda)去做环境隔离,安装属于自己的环境。在这环境中,大多神经网络都必须要用到cuda,cudnn。不同的神经网络需求版本不同,所以也需要另行安装,这与前面一篇文章pip安装包的方式还不太一样。

一.cuda安装

1.确定当前平台cuda可以安装的版本

安装好显卡驱动后,使用nvidia-smi命令可以查看这个显卡驱动可以安装的最高的cuda版本是多少,如下:

Driver Version: 525.89.02 表明当前显卡驱动版本是525.89.02

CUDA Version: 12.0 表明当前的显卡驱动可以安装的cuda最高版本是12.0

2.conda环境中安装cuda(cudatoolkit)

注意:我所使用的深度学习框架是pytorch,pytorch与cuda,cuda与cudnn之间的版本都有明确的对应关系,所以需要先确定pytorch的版本。

2.1 根据pytorch版本确定cuda和cudnn的版本

例如,我使用的pytorch版本是1.11.0。

  • 那么首先就可以去官方网站上,找cuda版本对应关系。如下图:

    可以看到,pytorch==1.11.0版本对应的cuda可以是11.3或者10.2(GPU时)
  • 其次,我们在根据cuda的版本去确定cudnn的版本。
    如下图,加入我们安装cuda 11.3,那么可以对应找到可以安装cudnn的资源(有多个可以适用)。

2.2 安装cuda

注意,此时我们已经使用conda,去激活了某一个虚拟环境。(安装了conda后,使用conda create -n xxx python==xxx和conda activate xxx 去激活xxx环境)

如一中的2.1确定的cudnn版本,然后可以使用conda来搜索仓库有哪些cudnn的版本可以安装。

bash 复制代码
# 查看都有哪些版本
conda search cudatoolkit

如果刚好有满足要求的版本,直接使用如下语句安装即可。

bash 复制代码
conda install cudatoolkit==(指定版本)

第一条命令可以查看用来安装cudatoolkit的所有版本都有哪些。

在conda环境中,可以直接用conda装cuda和cudnn,缺点是conda源中没有全部版本的cuda和cudnn,并且下载速度会比较慢,可以考虑换源。


如果换源速度也不行,那么可以考虑如下方案:

bash 复制代码
conda search cudatoolkit --info
# 查看所有列出来的cudatoolkit的详细信息,包括版本号version,文件网址url,依赖项dependencies。
# 直接conda install cudatoolkit,通常下载安装包的速度很慢,当换源都不好使的时候,因而可以用上面给出的文件网址url来用下载工具去下载这个包,再去本地安装
# 依赖项dependencies:想要使用cudatoolkit,还需要安装什么才可以使用。

本地安装离线包的命令是:

bash 复制代码
conda install --use-local 包名

如果没有满足要求的版本,那么只能去官网下载包,进行离线安装

注意:此处没有深入了解,即使装成功了,这个虚拟环境应该还需要设置环境变量才能使用,但是我暂时还不会。一般conda搜索出来的就能满足需求了。

二.cudnn安装

如一中的2.1确定的cudnn版本,然后可以使用conda来搜索仓库有哪些cudnn的版本可以安装。

bash 复制代码
# 查看都有哪些版本
conda search cudnn

1.如果刚好有满足要求的版本,直接使用如下语句安装即可。

bash 复制代码
conda install cudnn==(指定的版本)

2.如果没有满足要求的版本,那么只能去官网下载包,进行离线安装

安装命令:

bash 复制代码
conda install --use-local 本地cudnn包所在的路径

也可以复制想要安装版本的cudnn的下载地址,使用wget链接地址进行下载

三.测试安装cuda,cudnn是否成功

在虚拟环境中安装完cuda和cudnn想要测试是否安装成功,不能使用nvcc -V命令测试,需要在虚拟环境中安装pytorch包进行测试

装好pytorch后,命令行输入python,进入python的命令行,导入torch包

  • 查询cuda版本
bash 复制代码
print(torch.version.cuda)
  • 查询cudnn版本
bash 复制代码
print(torch.backends.cudnn.version())

注意:现在的pytorch官网介绍的安装命令附带了下载和安装cuda,但是没有附带cudnn,所以还需要额外安装cudnn(但是发现,跑一些开源网络的时候,按照他的步骤走,pytorch和cuda是分开安装的,不晓得为什么,所以才有上面的内容)。

参考文章:

https://blog.csdn.net/LIWEI940638093/article/details/113811563

https://blog.csdn.net/qq_43705697/article/details/121618276

相关推荐
慧星云14 小时前
双节模型创作大赛开赛啦:和魔多一起欢庆中秋国庆
人工智能·云计算·aigc
爆改模型14 小时前
【ICCV2025】计算机视觉|即插即用|ESC:超越Transformer!即插即用ESC模块,显著提升图像超分辨率性能!
人工智能·计算机视觉·transformer
带娃的IT创业者14 小时前
《AI大模型应知应会100篇》第69篇:大模型辅助的数据分析应用开发
人工智能·数据挖掘·数据分析
小胖墩有点瘦14 小时前
【基于yolo和web的垃圾分类系统】
人工智能·python·yolo·flask·毕业设计·课程设计·垃圾分类
bylander14 小时前
【论文阅读】自我进化的AI智能体综述
人工智能·大模型·智能体
却道天凉_好个秋14 小时前
计算机视觉(十二):人工智能、机器学习与深度学习
人工智能·深度学习·机器学习·计算机视觉
剑客的茶馆14 小时前
新服务器从0开始搭配Ubuntu+Conda+Docker+Dify
服务器·ubuntu·docker·conda·dify
小关会打代码14 小时前
自然语言处理之第一课语言转换方法
人工智能·自然语言处理
wenzhangli714 小时前
OneCode 可视化揭秘系列(三):AI MCP驱动的智能工作流逻辑编排
人工智能
聚客AI15 小时前
⭐精准率暴跌50%?RAG开发者必避的十大认知误区
人工智能·llm·agent