使用虚拟环境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的版本可以安装。

# 查看都有哪些版本
conda search cudatoolkit

 
 
  • 1
  • 2
如果刚好有满足要求的版本,直接使用如下语句安装即可。
conda install cudatoolkit==(指定版本)

 
 
  • 1

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

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


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

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

 
 
  • 1
  • 2
  • 3
  • 4

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

conda install --use-local 包名

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

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

二.cudnn安装

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

# 查看都有哪些版本
conda search cudnn

 
 
  • 1
  • 2

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

conda install cudnn==(指定的版本)

 
 
  • 1

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

安装命令:

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

 
 
  • 1

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

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

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

  • 查询cuda版本
print(torch.version.cuda)

 
 
  • 1
  • 查询cudnn版本
print(torch.backends.cudnn.version())

 
 
  • 1

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

参考文章:
https://blog.csdn.net/LIWEI940638093/article/details/113811563
https://blog.csdn.net/qq_43705697/article/details/121618276

更多参考

https://blog.csdn.net/tyyhmtyyhm/article/details/136863438
https://blog.csdn.net/edward_zcl/article/details/124543070

在Python中,如果你正在使用PyTorch这样的库,并且需要在虚拟环境中临时切换CUDA版本,可以借助`torch.cuda.get_device_capability()`函数来检查当前安装CUDA版本,然后通过环境变量`LD_LIBRARY_PATH`或`DYLD_LIBRARY_PATH`(针对macOS)来指定特定版本CUDA库路径。 首先,你需要知道你要切换到的具体CUDA版本的库路径。通常,CUDA的头文件和库会位于`<CUDA_HOME>/include`和`<CUDA_HOME>/lib64`目录下,其中`<CUDA_HOME>`是CUDA安装路径。 以下是步骤: 1. **确定目标CUDA版本的路径**: - 打开终端并导航到你的CUDA安装目录,比如`cd /usr/local/cuda/version_you_want`,替换为实际版本路径。 - 确认`lib64`目录下的`libcudart.so`或其他对应的库文件。 2. **更新环境变量**: - 修改`LD_LIBRARY_PATH`(Linux/Mac)或`DYLD_LIBRARY_PATH`(macOS),添加目标CUDA版本的`lib64`目录: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/target_cuda/lib64 # 或者在macOS上 export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/path/to/your/target_cuda/lib64 ``` 3. **验证是否切换成功**: 在Python交互式环境中(如Jupyter Notebook或命令行),导入`torch`模块,尝试使用`torch.cuda.current_version()`确认是否已经切换到了你设置的CUDA版本。 注意,这仅适用于临时切换,如果你想要持久地在虚拟环境使用某个CUDA版本,可能需要修改虚拟环境的配置文件(如`conda`的`environment.yml`或`virtualenv`的`activate.sh`)。此外,每次激活虚拟环境时都需要手动设置上述环境变量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值