深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)

英伟达(NVIDIA)显卡驱动

我们平时用的电脑都配有显卡,要么是集成显卡,要么是独立显卡;
集成显卡是不支持gpu加速的,独立显卡分为A卡和N卡,即AMD和NVIDIA;
A卡是不支持gpu加速的,只有部分N卡才支持gpu加速,
可以查询是自己的显卡是否在支持的列表中
深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)
如果不知道自己的显示是什么型号可以在本机下图进行查看
深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)
上图中我有2个显卡,一个是intel的集成显卡,一个是英伟达的独立显卡。我的显卡是在gpu加速支持的列表中的,它是显卡自身的属性。还有其他方法查看自己的显卡是否支持gpu加速比如按照下图进行查看深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)
如果你能看到“产品名称”下有CUDA字样说明你已经有一块符合gpu加速的显卡了,并且已经安装驱动了。
如果你是Linux 系统可以尝试使用以下命令查看是否已经安装N卡驱动,并且同样有CUDA字样,如果不是N卡或者没有安装Linux驱动会提示没有此命令。

nvidia-smi 

如果能确定你是N卡了,只是没有安装驱动,或者想升级一下自己显卡驱动的版本,可以通过以下链接自行升级,也可以查看一下自己显卡gpu的计算能力。英伟达显卡驱动

注意:以上所有操作必须是宿主机,不能是虚拟机,因为虚拟机里面是无法安装显卡驱动的

如果你不符合以上条件想搭建深度学习人工智能环境也是可以的,只不过训练模型只能使用cpu计算,无法实现gpu加速,会慢一些。

cuda工具包

cuda是个啥东西官方是这样说的:
NVIDIA® CUDA® 工具包提供了开发环境,可供创建经 GPU 加速的高性能应用。借助 CUDA 工具包,您可以在经 GPU 加速的嵌入式系统、台式工作站、企业数据中心、基于云的平台和 HPC 超级计算机中开发、优化和部署应用。此工具包中包含多个 GPU 加速库、多种调试和优化工具、一个 C/C++ 编译器以及一个用于在主要架构(包括 x86、Arm 和 POWER)上构建和部署应用的运行时库。
我的理解这个东西就是N卡对外开放的接口或者方法,可以实现调用gpu加速,并且是支持多渠道调用的。
如果想使用gpu加速这个是必须安装的
CUDA下载地址
我的建议是根据自己显卡驱动支持的cuda版本下载相应的cuda工具包,比如我的是11.4.158
深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)
那么我下载11.4.1的cuda工具包
深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)
我建议下载local类型的,别下载network。

cuDNN

cuDNN官方是这样说的:
NVIDIA CUDA® 深度神经网络库 (cuDNN) 是经 GPU 加速的深度神经网络基元库。cuDNN 可大幅优化标准例程(例如用于前向传播和反向传播的卷积层、池化层、归一化层和激活层)的实施。
我的理解cuDNN是建立在cuda之上的,专门用于深度神经网络提供的接口或方法。
如果想使用gpu加速这个是必须安装的
cuDNN下载地址
请下载与cuda相匹配的cuDNN版本
深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)

anaconda

anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
Python是一门语言就不多解释了,那么conda又是啥?
它是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。
我的理解conda有点像maven,实现不同环境和依赖的管理。
比如一个项目用的python版本是3.6,另一个是3.8,不可能把不同时期的项目都统一成一个版本,他们的依赖关系是非常复杂的,必须有一个工具对他们环境的管理和使用的依赖包管理,conda就起到这个作用。
提到conda不得不要说下pip。pip是Python自带的工具,可以安装python wheel或者源代码的包,如果是源代码包需要编译环境(一般下载Python时候是自带环境的)的支持,
而conda安装的都是编译好的二进制包,pip只能安装Python语言的包,非Python不可以。
conda能做环境管理,也就是说可以创建不同版本的Python,而pip是Python是的工具,自然不能安装Python了。pip安装包的时候不考虑依赖关系,也就是说你安装成功了,也有可能因为某些包版本的依赖错误导致不能正确运行。
还有就是pip和conda能安装的包不完全重叠,有些包只能通过其中一个工具来安装。

keras和tensorFlow

Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。
TensorFlow 是一个端到端开源机器学习平台。
我的理解Keras就是前端,TensorFlow就是后端,前端调用后端。

tensorFlow支持pip安装也支持conda安装;如果是在Linux 环境下新版的tensorFlow也可以支持Docker安装。

Docker模式安装的tensorFlow有2个版本,cpu版的和支持gpu版的,docker安装的好处是支持gpu版本镜像自带 cuda和cuDNN,能自动匹配Linux安装的N卡驱动版本,主机还需要安装nvidia-docker才能启动gpu加速,安装教程。解释一下为啥需要安装nvidia-docker,以及这个是啥东西?最开始也说了,虚拟机环境安装不了显卡驱动,docker也算作虚拟环境,但是它与Vmware,VirtualBox不同,它是虚拟容器环境;vmware里面的虚拟机无法识别到宿主机的显卡驱动,但是docker可以识别出已经安装了nvidia-docker的主机的显卡驱动; 我理解nvidia-docker是专门为原来虚拟容器环境无法识别宿主机显卡驱动的一个解决方案,希望未来也能有VMware等虚拟环境使用gpu加速的解决方案。
还要强调一点,nvidia-docker 是一个应用程序,不是docker镜像,需要用Linux 命令去安装。
下面这个图片是如果你手动安装非docker安装,需要对应软件版本的配置。严格按照这个去安装。整体流程是看显卡驱动支持哪个版本的cuda,然后根据cuda再去看安装哪个版本的cuDNN,然后再去对应安装哪个版本的tensorFlow,然后再确实使用哪个版本的Python。
深度学习环境安装所需软件介绍cuda+cudnn+driver+anaconda+keras+tensorFlow+Pycharm+Jupyer(下载地址+配图)

安装keras,这个就简单了,直接使用conda安装就可以了,不过keras要和tensorFlow 相对应,百度搜索Tensorflow和Keras版本对照表就能找到相应的对照了,由于我没找到官方的出处,所以在这我就不截图了。
最后还有一个要注意如果是在window环境下安装还需要安装安装Visual Studio 2015、2017 和 2019支持库

上一篇:完美解决前端无法上传大文件方法


下一篇:使用 Java SDK 获取 MaxCompute 的表结构并写入到 Excel 中