1 入门前相关知识
1.1 神经网络
为神经网络模型和数据提供了快速、高能效的计算资源,如CPU、GPU、TPU 和华为公司最新推出的昇腾AI处理器。
算子
深度学习算法由一个个计算单元组成,我们称这些计算单元为算子(Operator,简称Op)。在网络模型中,算子对应层中的计算逻辑,例如:卷积层(Convolution Layer)是一个算子;全连接层(Fully-connected Layer, FC layer)中的权值求和过程,是一个算子。
张量
张量(Tensor)是算子中的数据,包括输入数据和输出数据。
形状
张量的形状,(D1D_1D1, D2D_2D2, …,DnD_nDn)来表示的。
如果搞不懂就拿着这个表在纸上多写开看多几遍
物理含义理解:假设我们有这样一个shape=(4, 20, 20, 3)。
假设有一些照片,每个像素点都由红/绿/蓝3色组成,即shape里面3的含义,照片的宽和高都是20,也就是20*20=400个像素,总共有4张的照片,这就是shape=(4, 20, 20, 3)的物理含义。
轴
正着数,从0开始
倒着数,从-1开始
广播
1.2 AI Core架构
基于TBE(Tensor Boost Engine)开发的算子运行在 AI Core上,开发人员需要的对AI Core架构有了解。那么华为昇腾AI处理器的计算核心主要由AI Core构成,AI Core采用了达芬奇架构,华为AI Core架构如下图所示,所以接下来学习达芬奇架构是怎么一回事。
不同于传统的支持通用计算的CPU 和GPU,也不同于专用于某种特定算法的专用芯片ASIC,达芬奇架构本质上是为了适应某个特定领域中的常见应用和算法,通常称为“特定域架构”(Domain Specific Architecture,DSA)。