分享 | 英特爾第二代神經計算棒(Intel Neural Compute Stick 2)相關測試

OpenVINO 中文社群發表於2020-09-28

分享 | 英特爾第二代神經計算棒(Intel Neural Compute Stick 2)相關測試

愛分享的 OpenVINO 中文社群

內容來源| 李棟
內容排版| 李擎
原文連結:https://blog.csdn.net/weixin_43317210/article/details/107030841

正文

英特爾第二代神經計算棒(Intel Neural Compute Stick 2)相關測試

英特爾在2018年正式推出了身材依然只有U盤大小的第二代神經計算棒(Neural Compute Stick 2/NCS 2),可讓開發者更智慧、更高效地開發和部署深度神經網路應用,滿足新一代智慧裝置的需求。

在這裡插入圖片描述

  1. NCS 2介紹

NCS 2 仍然類似U盤造型,尺寸只有72.5×27×14毫米,通過USB 3.0 Type-A介面插入主機,相容64位的 Ubuntu 16.04.3、CentOS 7.4、Windows 10作業系統。
NCS 2內建了最新的 Intel Movidius Myriad X VPU 視覺處理器,整合16個 SHAVE 計算核心、專用深度神經網路硬體加速器,可以極低的功耗執行高效能視覺和AI推理運算,支援 TensorFlow、Caffe 開發框架。
NCS 2 的效能比之前的 Movidius 計算棒有了極大的提升,其中影像分類效能高出約5倍,物體檢測效能則高出約4倍。

  1. NCS 2的在深度學習方面的測試

最近通過參加 DFRobot行業AI 開發者大賽,入手了一個 NCS 2。

在這裡插入圖片描述

NCS 2 的主要定位就是在應用於物聯網。傳統嵌入式裝置受價格和體積影響,一般效能比較低(嵌入式裝置使用的微控制器、樹莓派等計算、控制核心的效能肯定比電腦使用的cpu差得多),並不適合做深度學習中有關影像的運算。而 GPU 等裝置因為體積較大,價格昂貴等因素,無法應用於物聯網的裝置端,而且在物聯網的裝置端只需要訓練好的網路模型進行推理,不需要訓練,因此在一定程度上來說,GPU用於推理會造成效能過剩。而NCS2則解決了這個矛盾,它的主要定位就是用於物聯網的裝置端,代替原有裝置進行深度學習的推理,實現邊緣計算。NCS2的體積較小,價格低,專門用於影像計算,效能高於傳統的嵌入式裝置,起到了取長補短的功能。

本文主要就是對NCS 2在常用影像分類,目標檢測等物聯網應用場景進行測試,檢測NCS 2在實現深度學習網路的推理中的表現。

  1. 測試環境

作業系統:ubuntu 16.04
軟體環境:OpenVINO 2019 r1
測試硬體:NCS 2(vpu)
CPU(Intel Core i7-8750H)

  1. 測試內容

本部分將4個經典的深度學習模型分別部署在CPU和NCS2,對比了他們的推理效能。

4.1 squeezenet 分類模型測試

在這個部分中,我們將使用 cpu和NCS 2(vpu)分別實現 squeezenet 的推理,實現對下圖的分類

在這裡插入圖片描述

首先,利用 OpenVINO 將 squeezenet 影像分類模型部署在cpu上。

在這裡插入圖片描述

CPU 得到的推理結果如下圖所示,圖片中顯示了TOP10分類以及其相應概率,同時可以看到 CPU 在squeezenet的推理速度非常快,可以達到378.231FPS,遠遠超過普通應用的需求。

在這裡插入圖片描述

同理,利用 OpenVINO 將 squeezenet 影像分類模型部署在 NCS 2(vpu)上。

在這裡插入圖片描述

VPU 得到的推理結果如下圖所示,圖片中顯示了 TOP10 分類以及其相應概率。與CPU的推理結果相比,VPU 推理得到的結果與 CPU 結果的大致相同,但是在具體某種類的概率上有所不同,這是因為 CPU 推理時,使用的是32位的浮點數,而VPU推理的時候使用的是16位的浮點數,因此在具體的概率值上,可能會有輕微的變化,但是在分類的準確度上不會有太大影響。同時可以看到 vpu 在 squeezenet 的推理速度相對 cpu 較慢,為78.89FPS,仍可以滿足絕大多數普通需求。

在這裡插入圖片描述

4.2 車牌識別模型測試

這一部分將測試車牌識別模型,車牌自動識別系統如今廣泛應用於小區,停車場。實現阻止無關車輛,放行登記車輛,自動繳費等功能。模型將對下列圖片中的車牌號進行識別和檢測

在這裡插入圖片描述

首先,將模型部署在cpu上測試其效能:

在這裡插入圖片描述

測試結果如下圖所示:

在這裡插入圖片描述

模型成功識別出來了車牌號“冀 MD711”,推理速度達到77.01FPS,效能有些過剩,遠超普通應用的需求。
將模型應用於 VPU :

在這裡插入圖片描述

得到的結果如下圖所示:

在這裡插入圖片描述

VPU同樣正確識別出來了車牌號“冀 MD711”,推理速度達到20.79FPS。可以滿足一般應用的需求。

4.3 人臉檢測模型測試

人臉檢測模型也是在現實生活中廣泛引用的深度學習模型,下面將測試一個人臉檢測模型在 CPU、VPU上的效能表現。本文測試的模型不僅包含人臉檢測,還包括人臉 3D 模型檢測,性別判定,年齡預測,表情判定等,因此總體模型比較複雜,具體應用時可以單獨選擇一項或幾項應用。
首先檢視模型部署在 CPU 上的效能表現:

在這裡插入圖片描述

在 CPU上,模型的推理速度依然非常快,可以達到38.14FPS。可見高效能的 CPU 即使在如此複雜的模型推理中,依然有些效能過剩。
而VPU的測試結果則如下所示:

在這裡插入圖片描述

在VPU上,模型的推理速度減慢為10.79FPS,在實際應用上可能會顯得比較慢。這因為測試的模型比較複雜的緣故,實際應用中,可能並不需要人臉3D模型檢測,性別判定,年齡預測,表情判定等全部功能,因此對模型進行簡化可以加快其推理速度,使模型成功引用與VPU,替代嵌入式裝置的控制核心進行深度學習推理任務。

4.4 GoogleNetV2物體檢測模型測試

本部分將測試GoogleNetV2物體檢測模型在CPU、VPU上的效能表現。
首先看CPU的效能表現:

在這裡插入圖片描述

檢測的速度達到:31.72FPS
然後看VPU的表現效能:

在這裡插入圖片描述

檢測的速度達到:13.01FPS
這個結果與4.3的測試結果類似,使用CPU檢測效能過剩,而使用VPU推理的速度則稍微變慢。這說明在某些較複雜的模型中單獨一個NCS 2可能並不能完全勝任深度學習模型的推理工作,可以考慮將推理任務分組由多個NCS 2完成,或者使用NCS 2作為核心推理裝置的加速元件用於加快模型推理。

5 結論

通過以上測試可以得出,Intel推出的NCS 2(VPU)可以作為物聯網裝置端AI應用的計算核心,勝任諸如影像分類,車牌檢測等常用的深度學習模型的推理任務,實現邊緣計算的功能。在應用某些較為複雜的模型時,可以使用多個NCS2(VPU)進行協同工作,或者將NCS 2作為核心推理裝置的加速元件,加速模型的推理,實現更好的應用。

關注我們,讓開發變得更有趣?
在這裡插入圖片描述

微訊號:openvinodev
B站:OpenVINO 中文社群

*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.

相關文章