深度学习环境配置:linux+windows系统下的显卡驱动、Anaconda、Pytorch&Paddle、cuda&cudnn的安装与说明 您所在的位置:网站首页 pytorch下载安装包 深度学习环境配置:linux+windows系统下的显卡驱动、Anaconda、Pytorch&Paddle、cuda&cudnn的安装与说明

深度学习环境配置:linux+windows系统下的显卡驱动、Anaconda、Pytorch&Paddle、cuda&cudnn的安装与说明

2023-04-12 23:52| 来源: 网络整理| 查看: 265

这篇文档的内容是尽量将深度学习环境配置(使用GPU)所需要的内容做一些说明,由于笔者只在windows和linux下操作过,所以此篇文档不涉及MacOS环境下的配置。

这篇文档的行文思路是按照环境中所需的要素按照逻辑关系进行排版,并对要素进行了一些简要的介绍和说明。由于涉及到的内容非常的广泛,一些段落并没有细致到每一个操作步骤,希望读者可以在读完这篇文档后达成以下两个目的。

1:读者使用一篇文档可以了解深度学习环境的相关内容(是什么?怎么做?)

2:成功安装(我想并没有目的一重要)

正确使用方法

将本篇文章作为环境配置主干线,遇到细节不知道如何操作或想了解更多的细节可以配合搜索找到所需要的答案,但是答案一般来说都有些细微的不同,需要仔细甄别。注意看本篇文档每个段落的注,每一个注解都是我试错的体会,这或许可以帮你鉴别你搜索的文章当下是否可用。(可能文章是“过时”的,并不能解决当下版本的问题)

是什么?Anaconda:

这是一个虚拟环境的包管理软件(主要针对python),它的作用是将不同项目或框架的所需环境分割出来避免相互影响。其安装过后会有一个base环境,这就类似于linux下的root环境;你可以继续创建其他的环境,就相当于你给linux再创建其他用户。用linux类比可能有些不是很合适,毕竟linux内部不仅仅是环境那么简单,还涉及到很多的权限等问题,这么介绍只是想表达Anaconda的主要作用就是分割环境,方便用户在不同环境下面进行切换。

Pytorch&Paddle:

深度学习的环境框架(python),它的作用是方便我们进行模型构建、训练、推理的框架。这么说可能还是有点抽象,我认为他的颗粒度是大致等价于django和springboot。比如说你现在要写一个简单的网站程序,如果你从头造轮子的话,你需要对每一个细节都了如指掌。例如:当你需要返回一个html页面的功能,那么你需要编写构造html的head、body等相关方法,并且为了代码的健壮性,你或许还需要写上无数的if/else/while,这是非常令人头疼的。但是你使用框架只需要调用其封装好的方法,使用一两行调用代码就可以了,甚至不需要了解其中的太多细节,从而将重点聚焦在你的业务上。从软件工程的角度来说,这无疑是很好的解耦合的例子,也非常好的体现了抽象的内在含义。所以pytorch&Paddle也是一个道理,如果你需要使用卷积层,自己写一个卷积层可能需要几十行代码,但是使用框架只需要一行代码既可以使用。

cuda&cudnn:

这是方便调用英伟达GPU设备的工具包(个人理解),官网叫做计算平台,笔者对其中的原理了解的并不是特别透彻,但是我想对于环境配置来说,将他们理解为在显卡驱动之上,一个调用GPU设备进行并行运算,并加速计算的一个工具包也就够了。相当于你买了一台电脑(显卡),你需要安装一些软件(cuda&cudnn)让你的电脑运行的更顺手。cuda&cudnn对于电脑的日常使用是没什么影响的,但是对于深度学习(使用英伟达GPU)这个领域,他们是必须的,可以简单的理解为专业软件。

nvidia显卡驱动:

它是显卡驱动,没它你用不了显卡,假设各位都能接触到带英伟达显卡的设备,那么我想也不需要我来介绍了。

怎么做?

为了照顾不同平台的使用习惯,windows多使用软件包安装,而linux多使用命令行安装

windows显卡驱动的安装

第一步安装显卡驱动是因为我觉得大家都会装显卡驱动,或者是在大部分情况下显卡驱动都在windows环境下都是默认安装完成的;并且即使你不需要深度学习环境我想你也需要在拿到电脑的时候去检查其硬件设备的驱动程序是否正确安装了。如果各位真的没有装显卡驱动或者想要更新显卡驱动的话,给大家两个途径参考。

无脑途径:请安装一个类似于驱动精灵的软件,安装后在驱动那栏找到可以更新或者可以下载安装的显卡驱动,点击安装就好。

强迫症途径:请移步下面的链接选择自己的型号进行下载。

下载完成后请无脑下一步安装,当然会安装一些你用不到的东西。显卡的安装其中有一步是选择需要安装的组件,如果你想知道哪些是必须的可以自行了解,以下是笔者电脑有关英伟达的安装组件可供参考:

可能第一个都不是必须的

验证步骤:打开你的cmd,并输入nvidia-smi。如果有类似下面的显示,那么恭喜你!

红色框框后面要考,请记住12.0anaconda的安装

接下来开始配置深度学习环境,首先我们需要安装anaconda,根据上述的介绍,大家应该已经清楚上述各种都是软件,或者软件包,那么anaconda作为虚拟环境的包管理工具一定是第一步安装的。

请移步下面链接,选择适合自己的版本进行下载,笔者在安装的时候,选择困难症爆发,根据经验来看,我建议大家可以下载匹配自己环境的最新版本。(注:下面的链接来自于清华源,不知道各位有没有玩过苹果越狱,记得之前玩越狱的时候,也添加过很多源,其实就是一个软件仓库。由于国内大环境,科学上网比较麻烦,所以建议大家在清华源中下载,如果你掌握了科学上网的方法,强烈建议各位去官网查看官方介绍,与安装指导,这毕竟才是第一手资料。)

下载完成后,请双击并无脑下一步直到安装完成。当然,如果你想选择安装路径,请在安装路径那一步停下并选择适合自己的路径并继续安装操作。

安装完成后,请在搜索栏搜索Anaconda prompt,并点击进入这个类似于cmd的命令行。

这个base就是上文介绍的初始环境

提供几条常用命令用于环境创建或者环境查看

1、conda create --name 环境名称 python=3.9 -y #-y的意思是后面需要你确认是否下载安装自动选择是。

你可以选择python的其他版本例如3.8/3.10等等;运行结束以后仔细看终端的输出内容,他会告诉你怎么激活以及怎么退出当前环境,我不是不想说,只是我认为看终端输出内容是一个很重要的交互过程,而不是一味的搜索看别人的操作方式。

2、conda env list # 查看当前有哪些环境已经创建

3、conda list # 查看当前环境下conda管理的包有哪些,我想你可以看到你安装的pythonX.X

其他还有一些命令请自行查看终端的提示或者搜索一下。

cuda&cudnn的安装

请跳过!!!你没看错,windows环境下我做过测试,不需要给本机环境安装cuda和cudnn,后面在安装框架的时候会一并帮你安装好的!!!(新手此时应该很开心哈哈哈)

pytorch&paddle的安装

windows环境下的最后一步中终于到了,其实这个非常简单,无论是pytorch还是paddle的官网,都非常的直接简洁的告诉你如何进行安装。

请打开你需要安装的框架官网,链接在下方:

Pytorch的安装引导paddle的安装引导

现在请继续打开你的anaconda prompt,创建并激活一个虚拟环境,当然你可以选择在base下去执行,但是base是初始环境,而anaconda的作用就是分割不同项目不同框架的,所以请重新创建一个环境并激活进行操作。

从上到下你需要选择稳定版、windows、pip或conda、选择小于12.0(记着是什么么?)的cuda,然后复制最下面的指令内容,在你的anaconda prompt命令行中(确认激活,并处于想要安装的环境下),粘贴指令并运行,然后等待安装结束。至于如何验证cuda和cudnn也一并安装成功,请自行搜索:如何验证pytorch的cuda和cudnn版本;如何验证paddle使用的cuda和cudnn版本。

注:

1、如果你安装的是pytorch,pip或者conda请随意,如果你安装的是paddle,请使用conda进行安装。

2、pytorch的最新版本,pip安装时已经打包了cuda&cudnn,conda安装时,额外安装了pytorch-cuda,也就是说,无论以哪种方式安装,其已经处理好了所需要的cuda&cudnn;paddle虽然通过其推荐命令的观察好像也可以这样操作,但根据我的测试,在使用pip安装的时候,并不能正确调用cuda&cudnn,使用conda的时候可以和pytorch做到一样的效果,所以保险起见推荐使用conda安装。

3、pip和conda的区别简单来说一个是用来管理python包的,而另一个是可以管理很多语言的包的。cuda&cudnn的编写语言并不是python写的,所以可能也是因为这点,在cuda&cudnn的安装才会经常出问题,集成到框架内部才比较麻烦(感谢框架!!!)如果大家对pip和conda的具体细节感兴趣,请自行搜索。

linux(ubuntu)显卡驱动的安装

linux和windows有些不同,如果需要配置深度学习环境,那么是必须自己进行安装的,不可以用linux系统自带的开源驱动。

linux下的显卡驱动网上有3种左右的安装方法,我这边仅推荐一种,因为方法不在多,关键是可用,这里特别声明一点,千万千万不要用图形化界面下,驱动管理中的附加驱动去安装显卡驱动,会把你wifi给吃了!!!

现在进入正题,跳转到此文章中window-显卡安装那部分,点击链接选择适合自己的硬件设备搜索驱动并进行下载。下载的文件是一个后缀为.run的文件,直接在terminal下运行

sudo sh 下载的文件名

就可以了(不需要退出图形化界面运行),安装的细节请注意终端的输出,需要你输入accept接受他的协议,以及选择你所需要的组件进行安装。安装完成后验证是否成功的方法和windows下一致,输入nvidia-smi即可。

安装anaconda

笔者这边安装的是miniconda(anaconda的轻量化),所以以miniconda为例给大家讲解。

首先进入miniconda官网

找到自己所需要的版本

请点击下载,下载的后缀名是.sh,建议将下载后的文件移到/home/用户名/ 下面,然后执行

sudo bash 下载的文件名

千万不要通过su,以root的账户安装miniconda,这会给后面的使用造成一些权限上的问题,简单的说就是每个用户都装一个miniconda才是正解。安装成功以后,在你的主目录下就会生成一个miniconda的文件夹,这时候你随意打开一个终端就会发现,它会自动进入conda的base环境,在你的用户@电脑名前面出现一个(base)。conda的使用和windows下也一模一样,这里也就不再赘述。

cuda&cudnn的安装:

如果你配置的是pytorch,那么恭喜你,你再一次不需要安装这些鬼玩意儿,哈哈哈!请直接移步windows下的pytorch安装,选择linux(经过对比发现,好像linux和windows其给出的命令行都是完全一样的),然后进行安装并验证,然后关闭此篇文稿。

如果你需要配置paddle,那么恭喜你,你可以看到一些不一样的东西!

paddle应该也是要做成和pytorch一样,但是现阶段我的测试结果告诉我并不可行,在linux环境下,如果配置paddle,还是需要给本机安装cuda和cudnn,并且我建议安装的cuda和cudnn版本和paddle的适配cuda版本保持一致。当然了,paddle的cuda版本应该小于等于12.0(就是小于等于nvidia-smi后显示的cuda版本)。

上面的链接是paddle官网给出的详细安装步骤,可以看到推荐的cuda和cudnn版本。有一说一,百度的文档写的还是不错的,虽然技术水平为前提,但是文档的水平同样重要。

cuda和cudnn的版本适配

举个例子,如果你选择安装paddle的cuda版本是cuda-11.7,那么你需要给你本机安装的cuda版本就是11.7,并且根据上面的官网信息,例如图片中的那样,应给本机安装8.4.1版本的cudnn。

下面进入正题,其实非常的简单!!!

cuda的安装

只推荐一种方式,请进入cuda的官网选择对应的版本,然后按照给出的命令行,在终端运行就可以了!!!

进入上面的网页并选择对应的版本,点击进去后选择自己的硬件和软件平台如下图所示

installation instructions

只推荐选择runfile(local)的方式进行安装,因为特别的优雅!选择好之后,下方会出现如图所示的installation instructions,按照给出的命令一行一行的粘贴复制运行就好了。

注:其实安装cuda的时候可以一起安装显卡驱动,所以如果不是第一步安装显卡驱动的话,大家可以在安装cuda的时候把显卡驱动选择上一起安装,但是我没有试过,所以就不推荐大家一起安装了(直觉上一起安装更好)。如果你安装好了显卡驱动,请把显卡驱动那个组件给去掉,然后进行安装。

安装结束后,打开你的terminal进行环境变量的配置(其实不需要配置,我测试过,对于paddle来说即使没有配置环境变量也可以正常使用),当然,其实在你安装完之后, 终端输出会告诉你如何配置,或者自行搜索:cuda环境变量配置,配置了有一点好处,就是当你输入nvcc -V进行验证并看到正确的输出时,会有强烈的愉悦感。

cudnn的安装

cudnn其实是一个补充包,他甚至没有安装过程,其实就是下载下来以后将里面的内容复制到cuda的安装路径中去,这样说起来会不会觉得比较简单,确实也不难。

请进入nvidia的cudnn下载界面选择你所需要适配的cudnn版本并且下载到本地(需要注册一个nvidia的账号,这个确实有点烦,不是科学上网的话会有些慢)

根据自己的平台下载tar版本

选择你所需要的版本下载到本地,下载完成后,请按照步骤输入下面的指令进行解压、复制、授权、验证。

1、解压

tar -xf 下载的文件名

2、复制

sudo cp 解压后的文件名/include/cudnn* /usr/local/cuda/include/

sudo cp 解压后的文件名/lib64/libcudnn* /usr/local/cuda/lib64/

3、授权

sudo chmod a+r /usr/local/cuda/include/cudnn*

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

4、验证

cat /usr/local/cuda/include/cudnn_version.h| grep CUDNN_MAJOR -A 2

注:/usr/local/cuda/ 这个路径下的cuda文件夹是一个快捷方式,你也可以直接复制到cuda的安装路径中,例如将这个路径改为/usr/local/cuda-11.7/ ,不过这个不重要,按照上面的步骤可以成功,有兴趣可以去这个路径下看一下里面的文件构成。

至此cuda&cudnn就安装完成了。

pytorch&paddle安装

请移步本篇文档windows-pytorch&paddle安装,将平台的选择改为linux即可,同样pytorch可以选pip或者conda,paddle选conda,在自己创建并激活的环境下输入网站给出的命令行,运行就可以了!验证的步骤还是和windows写的一样,请自行搜索!

注:paddle在linux环境下即使在环境中安装了cudatoolkit,也需要自己给本机装cuda&cudnn,所以我猜测是安装的cudatoolkit并没有正常调用,可能是paddle的一个bug,所以我猜测使用pip安装应该也是可以的,但是我没有尝试过,所以不作推荐了。

写在最后:

这篇是博客处女作,其实内容还是有很多的不足,例如没有配非常多当时配置环境的真实运行界面的截图、没有很好的使用markdown进行排版、没有贴上相关的引用等等。大晚上一时兴起洋洋洒洒写了快7000字。

为什么开始要写一些文章,网上大家写的文章已经非常多了。这里引用我导师的一句话:“一个方向上的综述有很多,但是不同的风格都有不同的角度,都是十分有价值的。" 我想我的写作风格还是十分鲜明的,可能也是具有一些价值的哈哈哈。

为何是这个选题的原因是我大致在网上看了一下,这种比较全面的介绍是比较少的,并且可能一些全面介绍的文章是"过时"或者是有些错误的(当然,这篇文章也一定随着时间推移,产生一些错误,并且"过时")并且在小白的时候确实因为环境配置伤透了脑袋瓜子,所以才有了这篇文章。

在知乎上发布是因为在某些平台上查看答案要不就是需要关注博主、要不就是需要登录、要不就是需要下载文档付费,实在是令人头疼,小小吐槽一下。

后续应该会一直写一些阶段性的学习总结类的文章,这确实是一种很有效的学习方法,可能也是一种不一样的纪念方式吧。

欢迎大家对文章中错误的地方给与指正,核对后会及时修改。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有