ITBear旗下自媒體矩陣:

深度學(xué)習(xí)CPU加速方案,飛槳全流程開發(fā)工具PaddleX 打通OpenVINO加速部署

   時間:2020-12-08 17:27:04 來源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評論無障礙通道

現(xiàn)如今,深度學(xué)習(xí)技術(shù)為工業(yè)質(zhì)檢、安防巡檢、金融、醫(yī)療、能源等各行各業(yè)降本增效的效果已被廣泛驗(yàn)證。然而,深度學(xué)習(xí)算法往往需要較高性能的計(jì)算芯片,以滿足大計(jì)算量、高推理速度等產(chǎn)業(yè)需求。這帶來一個問題,如果對前期大批量投入的低性能設(shè)備進(jìn)行升級甚至更換,都將是一筆非常大的費(fèi)用,從而提升了產(chǎn)業(yè)智能化升級時前期投入的硬件成本。比如,在工業(yè)界,產(chǎn)線上已有的工控機(jī)大多只配備了CPU,而深度學(xué)習(xí)涉及海量計(jì)算需要運(yùn)算速度更快的GPU來處理,而GPU的價(jià)格非常昂貴,如果全部升級為高性能GPU,成本非常高。

有沒有什么好辦法,可以在不升級硬件或者不使用低功耗芯片的情況下,盡量提升算法的性能呢?

飛槳全流程開發(fā)工具PaddleX,在打通深度學(xué)習(xí)全流程開發(fā)的基礎(chǔ)上,為產(chǎn)業(yè)開發(fā)者提供了多種高性能部署方案及詳細(xì)的示例工程。

事不宜遲,讓我?guī)焖倭私庖幌逻@套方案吧!

首先,飛槳(PaddlePaddle)以百度多年的深度學(xué)習(xí)技術(shù)研究和業(yè)務(wù)應(yīng)用為基礎(chǔ),是中國首個開源開放、技術(shù)領(lǐng)先、功能完備的產(chǎn)業(yè)級深度學(xué)習(xí)平臺,集深度學(xué)習(xí)核心訓(xùn)練和推理框架、基礎(chǔ)模型庫、端到端開發(fā)套件和豐富的工具組件于一體。目前,飛槳已凝聚超230萬開發(fā)者,服務(wù)企業(yè)9萬家,基于飛槳開源深度學(xué)習(xí)平臺產(chǎn)生了31萬個模型 。

而PaddleX 是飛槳產(chǎn)品矩陣中的一個重要工具組件,它提供了一套極其易用的開發(fā)方案,使開發(fā)者可以快速完成多種計(jì)算機(jī)視覺算法的開發(fā)、優(yōu)化、并實(shí)現(xiàn)高效部署上線。

圖1 PaddleX 飛槳全流程開發(fā)工具全景圖

得益于Paddle Lite--飛槳輕量化推理引擎,憑借其多平臺高性能深度學(xué)習(xí)預(yù)測引擎的能力,可以使開發(fā)者極其便捷地完成從Mobile到Server多種硬件平臺的部署(包括ARM CPU、Mali GPU、Adreno GPU、華為NPU以及FPGA等架構(gòu)),并持續(xù)增加更多新硬件。

此外,基于飛槳與英特爾的長期合作,開發(fā)者也可以使用OpenVINO來提升飛槳模型在英特爾的CPU、VPU等芯片上的性能。

目前,全流程深度學(xué)習(xí)開發(fā)套件PaddleX,為開發(fā)者提供了一套完整的基于OpenVINO的部署方案。通過這套方案,對部分企業(yè)來講,無需額外配置任何硬件,便可以快速便捷地將最先進(jìn)的深度學(xué)習(xí)算法模型部署至CPU工控機(jī),進(jìn)行深度學(xué)習(xí)算法的升級。

具體的技術(shù)實(shí)現(xiàn)的流程如下圖所示:

圖2 飛槳模型通過轉(zhuǎn)換為ONNX打通OpenVINO部署

當(dāng)前PaddleX對OpenVINO的支持情況如下表所示:

QQ截圖20201208164001

表1 PaddleX對OpenVINO的支持情況

表說明:Raspbian OS為樹莓派操作系統(tǒng),檢測模型僅支持YOLOV3,分割模型不支持FastSCNN。

隨著飛槳與英特爾合作的持續(xù)深化,支持適配的算法及加速性能將會進(jìn)一步提升。

那么OpenVINO到底是什么?又為什么可以提升飛槳的模型性能呢?下面逐一為您解答。

OpenVINO是英特爾針對自家硬件開發(fā)的深度學(xué)習(xí)部署工具套件,它基于通用API接口,支持多種英特爾硬件平臺,包括CPU、VPU(視覺處理單元)、iGPU、FPGA;并且支持異構(gòu)計(jì)算,可以加速工控機(jī)或服務(wù)器CPU設(shè)備上深度學(xué)習(xí)模型的預(yù)測性能。同時,通過集成OpenCV、OpenGL等工具套件,為開發(fā)者簡化并加速部署流程。

對于邊緣側(cè)設(shè)備部署場景,OpenVINO還可以通過支持神經(jīng)計(jì)算棒(一種基于VPU的深度學(xué)習(xí)硬件USB驅(qū)動器)實(shí)現(xiàn)在樹莓派等低性能的嵌入式設(shè)備上部署復(fù)雜的深度學(xué)習(xí)模型,讓AI在邊緣側(cè)的硬件設(shè)備上有更豐富的應(yīng)用場景。在云端或者是工業(yè)場景,OpenVINO更是可以直接在不添加任何其他算力設(shè)備的情況下加速CPU上深度學(xué)習(xí)模型的部署性能,大大提升現(xiàn)有硬件設(shè)備的性價(jià)比。

圖片包含 藍(lán)色, 桌子, 空氣, 男人

描述已自動生成

圖3 神經(jīng)計(jì)算棒

PaddleX在打通OpenVINO對飛槳模型進(jìn)行加速部署的基礎(chǔ)上,提供了豐富的實(shí)戰(zhàn)案例、示例工程,使開發(fā)者每一步都有例可依,有據(jù)可考。

PaddleX當(dāng)前提供的CPU加速部署端到端案例包括:

1) 【工業(yè)質(zhì)檢】CPU加速部署YOLOV3模型;

傳送門:https://github.com/PaddlePaddle/PaddleX/tree/develop/docs/examples/industrial_quality_inspection

2) 【二代神經(jīng)計(jì)算棒】結(jié)合【樹莓派】加速部署MobileNetV2模型

傳送門:

https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/deploy/raspberry/NCS2.md

圖片包含 游戲機(jī), 電子, 電路

描述已自動生成

圖4 神經(jīng)計(jì)算棒配合樹莓派進(jìn)行模型部署

加速效果性能測試

PaddleX對比測試了OpenVINO在CPU和VPU上的部署性能。

1) CPU性能測試

在型號為:Intel(R) Core(TM) i9-9820X@3.30GHz,模型推理的時間以及圖像預(yù)處理時間結(jié)果如下表所示。YOLOV3-MobileNetV3-Prune表示經(jīng)過剪裁后的模型。

2

表2 質(zhì)檢模型剪裁前后在CPU上的推理時間對比

從表2中可以看出PaddleX訓(xùn)練出來的模型借助OpenVINO在CPU上的部署性能完全可以達(dá)到工業(yè)級的要求,而且裁剪方案還能進(jìn)一步提升預(yù)測的性能。

2) VPU性能測試

在樹莓派3B上插入神經(jīng)計(jì)算棒測試了OpenVINO的性能加速比,并與樹莓派自帶的ARM處理器進(jìn)行對比,結(jié)果如下表所示,單位為ms/image(均不包含數(shù)據(jù)預(yù)處理用時)。

表3 分類模型在VPU上使用OpenVINO和ARM的性能加速比對比

從表3可以看出,配合計(jì)算神經(jīng)棒,可以顯著提升模型在邊緣側(cè)的部署性能,給人們對AI應(yīng)用開辟了新的想象空間。

除此之外,PaddleX 還針對產(chǎn)業(yè)具體應(yīng)用場景提供了特殊的適配及優(yōu)化工作,并結(jié)合具體、詳盡的案例為開發(fā)者提供盡可能深層的支持,其中包括:

工業(yè)表計(jì)讀數(shù)、人像分割、遙感影像分割(RGB)、遙感影像分割(多通道)、地塊變化檢測、工業(yè)質(zhì)檢等。

歡迎大家到PaddleX Github主頁獲取完整項(xiàng)目代碼,并點(diǎn)星(Star)支持:

PaddleX Github: https://github.com/paddlepaddle/paddlex

PaddleX OpenVINO加速部署部分:

https://github.com/PaddlePaddle/PaddleX/tree/develop/deploy/openvino

PaddlePaddle官網(wǎng)地址: https://www.paddlepaddle.org.cn

OpenVINO官網(wǎng)地址: https://docs.openvinotoolkit.org

舉報(bào) 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version