【大联大友尚英特尔神经计算棒】+(0)评测的准备功课
1: 这是什么?
NCS2 是 Neural Compute Stick 2的缩写,神经网络计算棒的意思。
该棒子来自英特尔,通体英特尔蓝。外壳是铝合金质地,猜测是散热用的
原厂又称其为VPU(视觉vision 处理单元)即专为处理 视频流的AI训练单元。
我们知道,视频处理的神经网络,规模庞大,其训练和推理的计算量庞大。
一般的视频神经网络训练,都需要GPU连续运行几个小时才能收敛的;
对这么一根小小的棒子来说,应该是专为加速 神经网络推理而用的。否则英伟达真没天理了
简而言之,NCS 2就像用于推理机器学习模型的微GPU,主要用于推理(也可用于训练)
2:棒子里面长什么样?
就是一个USB棒,USB3.0 (USB2.0速率480M bps半工;USB 3.0速率5G bps全工)
我的PC机器还不支持 USB3.0,不过幸好 USB是向下兼容的,只要 type匹配,能插进去,问题就不大。
USB3.0的棒子可以插在USB2.0的槽位中,不过速率只有SB2.0的速度而已
在这个棒子里,除了USB接口和驱动以外,就是一个 VPU芯片
3:VPU芯片的基础知识
芯片全名:Intel Movidius Myriad X VPU ,这其实混合了三家子的话:
Intel 是最终的品牌;
Movidius 名字很明显在碰瓷 Nvida,是Intel在2016年收购的计算机视觉新创公司
Myriad 是该收购公司的VPU品牌,该VPU芯片通过Myriad Development Kit(MDK)进行编程,MDK包括所有必要的开发工具、框架和API,以在芯片上实现定制视觉、成像和深度神经网络工作负载
Myriad X 其实是该公司的第三代VPU产品
Intel在收购 Movidius以后,在MDK 基础上再封装一层,形成 OpenVINO(开放的视觉推理和神经网络优化)工具包,不仅能做编解码的加速,也能做一些视频处理工作。照例是英特尔主导开源
4:VPU芯片结构
Movidius成立于2008年,技术坐镇的三人组有:
被苹果收购的 P.A.Semi 创始人丹尼尔·多伯普尔(Daniel Dobberpuhl),
卡内基梅隆大学计算机科学/计算机视觉专家金出武雄,
以及前苹果 iPhone 和 iPod 部门工程副总裁、资深工程师大卫·图普曼(David Tupman)
从上图可以看出这款处理器 主要由SPARC处理器作为主控制器 ,加上专门的DSP处理器和硬件加速电路來处理专门的视觉和图像信号。
这是一款以DSP架构为基础的视觉处理器,在视觉相关的应用领域有极高的能耗比,可以将视觉计算普及到几乎所有的嵌入式系统中。
5:怎么用:
NCS2棒运行在USB,不再需要其他硬件。
NCS2所必须的 OpenVINO软件有Windows 10和Ubuntu两大版本。
官网上说NCS2只支持和提前编译好(pre-compiled)的OpenVINO使用。
即:从不能采用从源代码安装(install from source)的方式来驱动NCS2。原因未知。
好处是: 省事;Intel每季度都会发新版本,论坛支持也很及时到位
缺点是: 如有bug只能干等,到下一个版本Intel自己来解决。
6:OpenVINO的介绍:
OpenVINO分为模型优化器(Model optimizer)和推理引擎(Inference Engine)分别支持训练和推理。
两者的接口,就是 IR 英特尔中介码(Intel's intermediate representation)。
即:训练好的 神经网络,由两个文件构成:一个xml文件描述神经网络的架构。一个二进制文件,用来存储神经网络的权重。
对 NCS2 来说,IR是输入。NCS只是 IR的执行期间。所以我们只要关心推理引擎就好了。
该引擎主要是用C++写的,提供C++ API,和 Python API(较为简陋)
OpenVINO的训练引擎,本质上一个文件转换器:拟定深度神经网络,利用训练数据得到权重。
补充:OpenVINO是支持用CPU来训练的,只要CPU是Intel的就好。
另外:OpenVINO还可以用CPU中的集成GPU进行训练。可以极大提升学习速度
此外:OpenVINO还支持从TensorFlow, Caffe, ONNX等其他模型转换(convert)得到IR。
这个NCS2 模型优化器是用Python写的,可以直接使用进行模型设计和训练并得出 IR.
文章评论(0条评论)
登录后参与讨论