深度學習CPU加速方案,飛槳全流程開發工具PaddleX 打通OpenVINO...

2020-12-14 太平洋電腦網

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

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

  飛槳全流程開發工具PaddleX,在打通深度學習全流程開發的基礎上,為產業開發者提供了多種高性能部署方案及詳細的示例工程。

  事不宜遲,讓我帶您快速了解一下這套方案吧!

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

  而PaddleX 是飛槳產品矩陣中的一個重要工具組件,它提供了一套極其易用的開發方案,使開發者可以快速完成多種計算機視覺算法的開發、優化、並實現高效部署上線。

圖1 PaddleX 飛槳全流程開發工具全景圖

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

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

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

  具體的技術實現的流程如下圖所示:

圖2 飛槳模型通過轉換為ONNX打通OpenVINO部署

  當前PaddleX對OpenVINO的支持情況如下表所示:

表1 PaddleX對OpenVINO的支持情況

  表說明:Raspbian OS為樹莓派作業系統,檢測模型僅支持YOLOV3,分割模型不支持FastSCNN。

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

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

  OpenVINO是英特爾針對自家硬體開發的深度學習部署工具套件,它基於通用API接口,支持多種英特爾硬體平臺,包括CPU、VPU(視覺處理單元)、iGPU、FPGA;並且支持異構計算,可以加速工控機或伺服器CPU設備上深度學習模型的預測性能。同時,通過集成OpenCV、OpenGL等工具套件,為開發者簡化並加速部署流程。

  對於邊緣側設備部署場景,OpenVINO還可以通過支持神經計算棒(一種基於VPU的深度學習硬體USB驅動器)實現在樹莓派等低性能的嵌入式設備上部署複雜的深度學習模型,讓AI在邊緣側的硬體設備上有更豐富的應用場景。在雲端或者是工業場景,OpenVINO更是可以直接在不添加任何其他算力設備的情況下加速CPU上深度學習模型的部署性能,大大提升現有硬體設備的性價比。

圖3 神經計算棒

  PaddleX在打通OpenVINO對飛槳模型進行加速部署的基礎上,提供了豐富的實戰案例、示例工程,使開發者每一步都有例可依,有據可考。

  PaddleX當前提供的CPU加速部署端到端案例包括:

  1) 【工業質檢】CPU加速部署YOLOV3模型;

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

  2) 【二代神經計算棒】結合【樹莓派】加速部署MobileNetV2模型

  傳送門:

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

圖4 神經計算棒配合樹莓派進行模型部署

  加速效果性能測試

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

  1) CPU性能測試

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

表2 質檢模型剪裁前後在CPU上的推理時間對比

  從表2中可以看出PaddleX訓練出來的模型藉助OpenVINO在CPU上的部署性能完全可以達到工業級的要求,而且裁剪方案還能進一步提升預測的性能。

  2) VPU性能測試

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

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

  從表3可以看出,配合計算神經棒,可以顯著提升模型在邊緣側的部署性能,給人們對AI應用開闢了新的想像空間。

  除此之外,PaddleX 還針對產業具體應用場景提供了特殊的適配及優化工作,並結合具體、詳盡的案例為開發者提供儘可能深層的支持,其中包括:

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

  歡迎大家到PaddleX Github主頁獲取完整項目代碼,並點星(Star)支持:

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

  PaddleX OpenVINO加速部署部分:

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

  PaddlePaddle官網地址: https://www.paddlepaddle.org.cn

  OpenVINO官網地址: https://docs.openvinotoolkit.org

相關焦點

  • openvino環境搭建
    (1)C:\Users\Administrator>cd C:\Intel\openvino_2019.1.148\binC:\Intel\openvino_2019.1.148\bin> setupvars.bat(2)C:\Intel\openvino_2019.1.148\bin> cd C:\Intel\openvino
  • Raspberry Pi上的OpenVINO,OpenCV和Movidius NCS
    OpenVINO工具包與OpenCV一起使用,以便在Raspberry Pi上進行更快速的深度學習推理。TensorFlow,Caffe,mxnet和OpenCV的DNN模塊均針對英特爾硬體進行了優化和加速。MovidO支持Movidius視覺處理單元(VPU),並與Raspberry Pi配合使用。(來源:OpenVINO產品簡介) 英特爾甚至優化了OpenCV的DNN模塊,以支持其硬體深度學習。
  • 深度學習唯一中文開源平臺!百度飛槳(PaddlePaddle)開發能力究竟如何
    在普通人的印象裡,每一項人工智慧科技的落地,仿佛都是額外僱傭一批高精尖人才才能做到的開發成果,實則不然。比如在作為人工智慧領域之一的深度學習領域中,通過開源平臺,可以較為簡易地創造自己的人工智慧作品,好比在ps上製作圖片,在pr上剪輯視頻。
  • 一行命令啟動,十分鐘完成部署,PaddleServing開放模型即服務功能
    相信在深度學習領域中,不少做算法的小夥伴都會對這句話產生共鳴。辛辛苦苦搭建好網絡,望眼欲穿得訓練調試好模型,等到最後要部署,面對紛繁複雜的實際部署環境時,才發現原來終極大魔王在這裡!當然這個魔王不會喊打喊殺,但他會給你出難題,情景可能是這樣的:在此緊要關頭,是否有什麼捷徑幫助小夥伴順利通關呢?
  • 十行代碼就能搞定深度學習?飛槳框架高層API,一起輕鬆玩轉AI
    機器之心發布機器之心編輯部嚮往深度學習技術,可是深度學習框架太難學怎麼辦?百度傾心打造飛槳框架高層 API,零基礎也能輕鬆上手深度學習,一起來看看吧?另:文末有福利,一定要看完呦~高層 API,What深度學習作為人工智慧時代的核心技術,近年來無論學術、還是工業領域,均發揮著愈加重要的作用。然而,深度學習理論太難學,開發過程太複雜,又將許多人拒之於深度學習的門外。
  • Openvino是什麼,與Movidius SDK的區別
    而不同的晶片往往有不同的開發方法,也就是說當工程師針對某一種晶片所開發的軟體換一個架構就可能無法使用,這無形中就增加了開發難度。為了幫助客戶更好地進行視頻處理,英特爾面向中國市場推出了專注於加速深度學習並將視覺數據轉換為業務洞察的OpenVINO工具包,這將充分幫助企業在邊緣側快速實現高性能計算機視覺與深度學習的開發,為智能視覺開闢了一條堅實的創新路徑。
  • 深度學習模型推理優化加速技術
    PC端優化工具與庫:TensorRT(Nvidia)、Tensor Comprehension(Facebook)、Distiller(Intel)2.1.1. Nvidia TensorRT[深度學習]TensorRT為什麼能讓模型跑快快 - 小文的文章 - 知乎 https://zhuanlan.zhihu.com/p/64933639TensorRT支持INT8和FP16的計算。深度學習網絡在訓練時,通常使用 32 位或 16 位數據。TensorRT則在網絡的推理時選用不這麼高的精度,達到加速推斷的目的。
  • 【深度學習系列】關於PaddlePaddle的一些避「坑」技巧
    ,熟悉Tensorflow,PaddlePaddle等深度學習框架,負責過多個機器學習落地項目,如垃圾評論自動過濾,用戶分級精準營銷,分布式深度學習平臺搭建等,都取了的不錯的效果。博客專欄:https://www.cnblogs.com/charlotte77/前文傳送門:【好書推薦&學習階段】三個月教你從零入門深度學習【深度學習系列】PaddlePaddle之手寫數字識別【深度學習系列】卷積神經網絡CNN原理詳解(一)——基本原理【深度學習系列】PaddlePaddle之數據預處理
  • 基於複數神經網絡首發量子機器學習開發工具 「量槳」,飛槳布局...
    飛槳開源深度學習平臺部分,包含核心框架、基礎模型庫、端到端開發套件與工具組件,持續開源核心能力,為產業、學術、科研創新提供基礎底座。同時,隨著企業應用需求越來越強烈,飛槳升級產品架構,推出飛槳企業版,包含零門檻AI開發平臺EasyDL和全功能AI開發平臺BML,助力各個企業進行AI創新。
  • PaddlePaddle深度學習開源平臺:等待眾人划槳的中國AI大船
    一、 PaddlePaddle是什麼 我們說了很多歷史,也提到了一些舞臺上正興的機器學習平臺,而這篇文字,是想介紹一下一個新的選擇:來自百度的paddlepaddle。Paddle(Parallel Distributed Deep Learning,並行分布式深度學習)。
  • 如何用Paddle Fluid API搭建簡單的神經網絡?這裡有一份編程指南
    PaddlePaddle 是百度自主研發,集深度學習核心框架、工具組件和服務平臺為一體的開源深度學習平臺。該平臺技術領先、功能完備。Paddle Fluid 是 PaddlePaddle 的核心框架,滿足模型開發、訓練、部署的全流程需求。本文將展示如何用 Paddle Fluid API 編程並搭建一個簡單的神經網絡。
  • 深度學習系列:PaddlePaddle之手寫數字識別
    上周在搜索關於深度學習分布式運行方式的資料時,無意間搜到了paddlepaddle,發現這個框架的分布式訓練方案做的還挺不錯的,想跟大家分享一下。不過呢,這塊內容太複雜了,所以就簡單的介紹一下paddlepaddle的第一個「hello word」程序----mnist手寫數字識別。下一次再介紹用PaddlePaddle做分布式訓練的方案。
  • 英特爾優化OpenVINO工具包;Streamlit發布開源機器學習開發框架
    【今日資訊頭條 | 英特爾發布 OpenVINO 工具包中的二進位卷積以提高深度學習性能】來源:intel英特爾發布 OpenVINO 工具包二進位OpenVINO 是英特爾提供的基於卷積神經網絡的計算機視覺開發包,目的是能夠快速的在 Intel 的硬體方案上部署和開發計算機視覺工程和方案
  • 我用Paddle Lite在樹莓派3b+上從零開始搭建「實時表情識別」項目
    本項目搭建的表情識別系統,是包含了多門學科知識的深度學習應用。在實際生活中,表情識別在人機互動、安全、機器人製造、無人駕駛和醫療都有著一定的作用。本項目實踐的是基於嵌入式系統的表情識別系統的設計方法,將圖像採集、人臉檢測、表情識別和結果輸出整合到樹莓派中。
  • windows10 64位 OpenVINO安裝教程(一)
    默認情況下,該文件將保存到Downloads目錄中w_openvino_toolkit_p_<version>.exe。2.轉到該Downloads文件夾。3.雙擊w_openvino_toolkit_p_<version>.exe。
  • 深度學習與PaddlePaddle的應用-個性化推薦
    作者:沈克強 來源:人工智慧學習圈I 研究背景推薦系統(Recommender System)是向用戶建議有用物品的軟體工具和技術,它運用數據分析、數據挖掘等技術,實現對用戶瀏覽信息或商品進行智能推薦,是機器學習,尤其是深度學習算法的重要應用場景。
  • 揭秘基於ERNIE的百度飛槳語義理解開發套件5大特色
    昨天,在「WAVE Summit+」2019深度學習開發者秋季峰會上,百度對外發布基於ERNIE的語義理解開發套件,旨在為企業級開發者提供更領先、高效、易用的ERNIE應用服務,全面釋放ERNIE的工業化價值,其中包含ERNIE 輕量級解決方案,提速1000倍!
  • AI又對遊戲下手了,用強化學習通關超級馬裡奧兄弟
    如今,隨著深度強化學習的發展,越來越多的遊戲已經被AI徵服。今天,我們將以超級馬裡奧為例子,展示如何用深度強化學習試著通關遊戲。:        x = paddle.to_tensor(data=x)        x = self.conv0(x)        x = self.relu0(x)        x = self.conv1(x)        x = self.relu1(x)        x = self.conv2(x)        x =
  • PaddlePaddle入門:從對話系統中的情感分析談起
    但無論學習什麼框架或者工具,如果不了解它是如何解決某個具體問題進而幫助提高業務,那無異於捨本逐末。本文將從智能對話系統中一個基礎的問題——情感分析(Sentiment Analysis)——談起,詳細闡述如何「step-by-step」地運用百度開源的深度學習框架(PaddlePaddle)來解決情感分析,並最終如何提升整個對話系統的質量。
  • 分布式深度學習最佳入門(踩坑)指南
    2.TensorFlowTensorFlow是谷歌開源的深度學習框架,它包含各種工具、庫和社區資源,是一個比較全面而複雜的深度學習平臺,在pytorch之前的很長一段時間,tensorflowhttps://github.com/Oneflow-Inc/DLPerf/tree/master/TensorFlow/resnet50v1.5)3.PaddlePaddlePaddlePaddle是百度開源的深度學習框架,中文名稱意為飛槳。