如果你是一个正在寻找人工智能交易的程序员,你应该去看看英特尔的79美元Movidius神经计算棒(图1).我做了,它的功能和软件给我留下了深刻的印象。
对于那些不熟悉神经计算棒的人来说,这是一个带有Movidius Myriad 2 VPU(视频处理单元)的USB 3设备。该芯片包括一个深度神经网络(DNN)加速器除了相机输入;它被设计用来处理图像处理杂务以及其他DNN应用程序。不幸的是,相机输入并没有暴露在操纵杆上,但可以通过USB 3接口进行视频传输。该系统附带的一些示例就是这样做的。
该摇杆可以在任何连接USB 3的系统上使用,但软件开发工具包(SDK)的目标是Ubuntu 16.04.这是Ubuntu长期以来最新的Linux实现,它支持包括x86和Arm在内的各种主机。
我最初计划在Linux KVM上运行Ubuntu的虚拟机上测试摇杆,但不幸的是,USB透传并不足以处理摇杆用于配置的奇怪握手。幸运的是,我手边有一个树莓派3,因为这是另一个支持棍子和Ubuntu的平台。
SDK使用同样安装Caffe的命令行安装。这是最初支持的机器学习(ML)平台英特尔.此后,它扩大了这种支持,包括TensorFlow.这些示例程序都利用了Caffe运行时支持,但也有一些TensorFlow的示例应用程序可以很容易地进行测试英特尔的平台。
入门手册概述了安装和测试u盘支持的几个步骤。这些都是命令行应用程序脚本,不过需要一个USB摄像头来实时完成识别工作(图2).这个测试应用程序实际上突出了使用Movidius Myriad 2 VPU芯片的优势,因为树莓派将很难跟上这类应用程序的12个专门的矢量VLIW刮削处理器和两个RISC处理器(图3).实际上,芯片几乎不费什么力气。
跳过这些例子需要做更多的工作。TensorFlow支持的添加可能在这方面有所帮助,因为使用现有的ML模型和一些Python代码更容易设置。
一般来说,英特尔Movidius神经计算棒将用于处理已经配置在其他系统上的模型,尽管它可以用于训练目的。在一个系统上使用多个摇杆是有可能的,尽管我只有一个用于测试。一个USB 3集线器将有足够的带宽来工作四个或更多,这些可以在同一个应用程序上并行运行,尽管我没有深入研究这种类型的设置。
使用现有的ML模型和数据是一个相对简单的过程,这取决于所使用的框架,因为接口是标准化的。无论使用哪个平台,从头开始开发模型都将是一项重大的任务。同样地,你将需要深入研究你所选择的平台的文档或示例(包括Caffe和tensorflow),以掌握使用或创建模型的方法,因为操纵杆的文档将确保一切正常工作。
Movidius Myriad 2 VPU已经应用于诸如收的火花无人机.这样的嵌入式设计具有将相机直接输入到芯片的优点,但从逻辑上讲,这与使用USB相机的摇杆是一样的。
开发人员可以从PC上的ML开始,但Movidius神经计算棒提供了对嵌入式应用程序的支持。它可以处理DNN的繁重工作,允许像树莓派这样的平台处理ML应用程序,否则会太慢而变得有用。