使用虚拟环境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

相关推荐
GIOTTO情9 分钟前
媒介宣发的技术革命:Infoseek如何用AI重构企业传播全链路
大数据·人工智能·重构
阿里云大数据AI技术18 分钟前
云栖实录 | 从多模态数据到 Physical AI,PAI 助力客户快速启动 Physical AI 实践
人工智能
小关会打代码25 分钟前
计算机视觉进阶教学之颜色识别
人工智能·计算机视觉
IT小哥哥呀31 分钟前
基于深度学习的数字图像分类实验与分析
人工智能·深度学习·分类
机器之心1 小时前
VAE时代终结?谢赛宁团队「RAE」登场,表征自编码器或成DiT训练新基石
人工智能·openai
机器之心1 小时前
Sutton判定「LLM是死胡同」后,新访谈揭示AI困境
人工智能·openai
大模型真好玩1 小时前
低代码Agent开发框架使用指南(四)—Coze大模型和插件参数配置最佳实践
人工智能·agent·coze
jerryinwuhan1 小时前
基于大语言模型(LLM)的城市时间、空间与情感交织分析:面向智能城市的情感动态预测与空间优化
人工智能·语言模型·自然语言处理
落雪财神意1 小时前
股指10月想法
大数据·人工智能·金融·区块链·期股
中杯可乐多加冰1 小时前
无代码开发实践|基于业务流能力快速开发市场监管系统,实现投诉处理快速响应
人工智能·低代码