當前位置: 妍妍網 > 碼農

技能 | 三種主流的深度學習模型部署框架

2024-04-24碼農

點選上方 藍字 關註我們

微信公眾號: OpenCV開發者聯盟

關註獲取更多電腦視覺與深度學習知識

深度學習工程師做什麽

深度學習已經改變了很多行業,深度學習工程師已經是不折不扣的高薪職業,但是也有越來越內卷的趨勢,以前只要求會訓練模型就可以了,現在多數深度學習工程師崗位都要求掌握模型訓練與模型部署。

可以毫不誇張的說,以後只有既會訓練,又會部署而且是會C++部署模型的深度學習工程師才會繼續高薪之路,否則按照這個內卷趨勢,只會訓練模型,不會部署模型的深度學習工程師必然會受到後來開發者越來越多的挑戰,前期積累的優勢蕩然無存。所以 掌握從數據標註、到模型訓練、到模型部署技能 是深度學習工程師基本要求,也是未來的必然趨勢。

深度學習工程化步驟

深度學習工程落地分為兩個主要階段,分別是數據準備、模型訓練、模型部署三個主要階段。

深度學習模型部署場景

深度學習模型部署場景主要包括:

01

雲部署場景

主要是基於雲伺服器與分布式服務提供,企業需要支付雲伺服器算力費用與儲存費用。優點是便於擴充套件,方便在多個位置與節點快速部署使用模型演算法; 缺點是 與邊緣部署相比,延時比較高,可靠性比較低,數據安全受到挑戰,沒有充分利用邊緣裝置算力。

02

邊緣(PC端側)部署場景

高效能套用的理想選擇、高度可客製(使用與應用程式相關的部件構建)、靈活的定價(因為可以根據套用選擇元件)。 優點是 成本可控,數據安全有保證,低延時高可靠,因此在機器視覺、安防監控等領域都大量采用該方案,依靠工控機+顯卡的方式提供算力實作模型部署,支持缺陷檢測、安防監控、自動化生產等。 缺點是 對一些成本特別敏感的行業依然無法大量采用該方案。

03

邊緣(ARM、FPGA和推理板卡,智慧相機)

邊緣與端側部署一個很重要的場景,典型的就是各種人工智慧盒子,包括 英特爾的NUC盒子,最新推出AlxBorad板卡,輝達的Jetson系列板卡,RK系列的板卡、樹莓派等 ,已經基於他們實作的各種智慧裝置。他們的優點是低成本,低功耗、顯著節省外圍硬體算力,同時高可靠性,安全,適用於對算力要求不是很嚴苛的場景,支持各種輕量化的模型部署。缺點是對深度學習開發者要求較高,要求對模型進行量化,各個板卡支持的模型部署框架不同,工具鏈軟體也不一樣

深度學習主流部署框架

深度學習開發者至少應該掌握一種深度學習模型部署框架 ,當前深度學習模型部署主要有 OpenVINO、TensorRT、ONNXRUNTIME 這三個當前主流的框架。

OpenVINO來自英特爾公司,當前最新版本是OpenVINO2023.1

TensorRT來自輝達公司,當前最新版本是TensorRT8.6

ONNXRUNTIME來自微軟,當前最新版本是1.15.x

如何選擇

英特爾CPU/GPU上模型加速與推理最佳選擇是OpenVINO

輝達GPU上模型加速與推理最佳選擇TensorRT

相容不同硬體廠家平台模型算子支持度高,相容性強最佳選擇是ONNXRUNTIME

如何學習

掌握三種主流的深度學習模型部署框架,實作模型在CPU、GPU、AMD等不同平台硬體上加速推理最佳效能。 OpenCV學堂已經推出OpenVINO、TensorRT、ONNXRUNTIME深度學習部署系統化學習路線圖。 「工欲善其事,必先利其器」 ,做深度學習工程師,學完部署再打工,一切都來得及,現在開始剛剛好!

深度學習模型部署路線圖視訊課程

根據需要自主選擇深度學習模型部署框架學習,均支持C++與Python SDK 程式碼演示,支持物件檢測,例項分割,語意分割等主流模型部署與模型加速推理技巧。深度學習開發者根據自己需要選擇想要的深度學習模型部署框架,然後學習即可。