机器学习是人工智能的子类,我们知道在学习人工智能的时候,编程语言一般首选python,但很多人所讲的“CUDA”、“飞桨AI Studio”、“PyCharm”、 “Python”、“ Anaconda”、“numpy”、“Matplotlib”等等都是什么,有什么关系,本文进行简单汇总。(这里概念是人工智能、机器学习和深度学习覆盖的技术范畴是逐层递减的。即:人工智能 > 机器学习 > 深度学习。)
-
CUDA
先要知道的:
我们知道计算机的计算处理一般依赖于CPU,也就是我们常说的中央处理器,中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。其他的不再赘述,我们只要记住一句话。
CPU遵循的是冯诺依曼架构,其核心就是:存储程序,顺序执行。
所以它在大规模并行计算能力上极受限制,而更擅长于逻辑控制。举个例子,我们编写的代码在编译的时候,计算机首先将硬盘上的data调入内存,以便和cup配合进行运算,在运算的时候,cpu读取指令,读到的是代码编译后的二进制指令,但在处理指令的时候,依然是一条一条的进行处理。但是随着人们对更大规模与更快处理速度的需求的增加,cpu的结构决定了他只能提高读取速度以此来提高运算效率,所以GPU应运而生。
机器学习需要大量重复的工作,要用到GPU并行计算的功能,管理和使用GPU产生CUDA。
显卡:(GPU)主流是NVIDIA的GPU,深度学习本身需要大量计算。GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。AMD的GPU基本没有什么支持,可以不用考虑。(图形芯片供应商主要包括AMD(超微半导体)和Nvidia(英伟达)2家。)
CUDA:是NVIDIA推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。
如果要使用GPU训练模型,则需要安装NVIDIA的cuda和cudnn指令集
官网下载CUDA Toolkit 11.5 Update 1 Downloads | NVIDIA Developerhttps://developer.nvidia.com/cuda-downloads