Intel Neural Compute Stick(NCS)神
前言
随着人工智能的不断发展,越来越多的AI应用将落地,之前研究的卷积神经网络例如:AlexNet,VGGNet,GoogLet,ResNet等已经大量应用到分类,识别中。RCNN,FastRCNN,FasterRCNN,Yolo,Yolo-v2,Yolo-v3, MobileNet-SSD等目标检测算法也百花齐放。这些深度学习网络和算法计算量比较大,训练阶段一般采用GPU大量迭代。 在实际算法落地应用中,一般假设模型训练好了,需要在计算平台使用,可选的平台比如CPU,GPU,TPU,DSP,FPGA,VPU等。本文将介绍VPU,Visual Process Unite。
开发环境
- Ubuntu18.04 (64bit)
- Intel Nerual Compute Stick 神经计算棒
- opencv3.4.3
- pycharm
Intel Neural Compute Stick 介绍
Intel Nerual Compute Stick(以下简称NCS) 用于AI边缘计算,何为边缘计算,我本人的理解是在低功耗嵌入式设备上运行AI算法。现有的嵌入式设备主要基于ARM linux,ARM的浮点性能不高,因此采用NCS进行加速计算。
图
图
图
开发环境搭建
工欲善其事必先利其器,开发环境搭建分以下步骤:
1. 编译NCS SDK
2. 编译example (可选)
编译 NCS SDK
下载NCS SDK
image.png笔者下载的是2.0版本 sdk。下载好之后保存一个路径,解压
编译
开始编译了,这里很关键。
step1: 采用Ubuntu 18.04以及其他版本,需要首先更改install.sh
文件
打开这个文件,将Ubuntu 16.04 改为 18.04,其余地方保持不变
image.pngstep2: 在ncsdk目录执行 make install
sudo make install
接下来就会自动编译,一定要确保良好的网络环境,期间会下载Tensorflow,Caffe,Caffe-SSD,整个过程都是自动编译安装,so easy
image.png玩2把游戏,一会就自动编译成功了,如下:
image.png这样,我们就成功配置好了开发环境。下面是可选步骤
step3: 编译example
编译好sdk之后,我们当然希望运行一下看看效果,在ncsdk/examples中包含一些测试工程。在USB接口插入NCS计算棒,执行以下命令
make runexamples
image.png
也是自动编译examples,执行运行
image.png分类网络的结果如上
可能遇到的问题
protobuff版本问题: 笔者最开始将Anconda加入环境变量,在make isntall过程中提示protobuff版本不一致,后来自己下载了好几个版本的protobuff编译都不行,后来就重新安装了ubuntu,不添加Anconda环境变量,因为Anconda中自带的protobuff和Ubuntu安装的protobuf产生冲突。
End
接下来,笔者打算将目标检测MobileNet-SSD在 NCS上运行看看效果。