背景:在学习深度学习时,我们不可避免的需要跑多个神经网络,而不同的神经网络环境都不一样,所以必须要使用到虚拟环境(如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

有关nvidia-smi与nvcc -V命令的区别如下:
https://blog.csdn.net/qq_45732909/article/details/133928812
如果命令没有找到,则需要设置环境变量:
https://blog.csdn.net/qq_51408826/article/details/135612930

在这里插入图片描述

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的资源(有多个可以适用)。
    在这里插入图片描述

pytorch官网的安装命令还是很好使的(conda以及pip都是支持的,需要注意pip的安装命令与tf_gpu安装相比有变化),比tf好太多(全靠猜),直接可以看到pytorch,cuda以及cudnn的版本号,实在不行还可以使用conda search cudnn命令查找对应的cuda兼容版本号(虽然pytorch对cudnn没有版本要求,但cudnn也需要与cuda版本配对。)。

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://www.jb51.net/python/336736lm2.htm
https://blog.csdn.net/edward_zcl/article/details/124543070
https://blog.csdn.net/m0_49496195/article/details/142671401
https://zhuanlan.zhihu.com/p/1921162349131313416
https://blog.csdn.net/qq_57171795/article/details/127268886

Logo

欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐