天天看點

C++開發伺服器部署深度學習NLP、CV模型提供線上推理功能

實體識别

實體識别是NLP(自然語言處理)中的一項基本任務,利用深度學習模型提供識别文本中的命名實體的功能,識别的實體種類包括7個類别:人(PER)、位置(LOC)、交通工具(VEH)、 地理/社會/政治實體(GPE)、武器(WEA)、組織(ORG)、設施(FAC)。如果訓練好實體識别的模型,哪怎麼把它部署到線上,工業界一般還涉及模型壓縮等,這裡簡單使用前後端的方式來部署訓練好的實體識别模型,在網頁上輸入文字,對輸入的文字進行預測,并把抽取的實體資訊顯示出來。

伺服器

這裡在Linux上采用C++來實作一個高并發的伺服器,支援高并發。主要是接受網頁上POST上傳的文本,然後調用模型預測的服務對文本進行推理識别,再把模型預測得到得實體資訊傳回給網頁。

模型部署

模型的部署采用torchserve,torchserve是pytroch官方提供的對在pytorch上訓練的模型部署的一個架構,可以把訓練好的模型部署啟動作為一個REST風格的API,之後可以使用http的方式請求這個API預測文本。

架構

C++開發伺服器部署深度學習NLP、CV模型提供線上推理功能

基于C++實作Webserver伺服器并部署深度學習模型

項目簡介:基于C++實作Webserver伺服器并部署深度學習模型提供線上推理功能。

主要工作:

(1)基于epoll、線程池、定時器等技術實作Webserver伺服器,支援并發、解析http請求、支援請求深度學習模型推理結果。

(2)基于Torchserve實作深度學習模型部署,并通過C++的curl庫與Webserver伺服器進行請求響應互動。在網站通過post上傳需要推理的文本或者圖檔資料,

Webserver收到請求後,把資料傳給Torchserve部署好的深度學習模型,模型輸出預測結果響應給Webserver,Webserver再響應結果到網站。

(3)支援請求的推理資料批處理,可以部署各種深度學習模型。

C++開發伺服器部署深度學習NLP、CV模型提供線上推理功能
C++開發伺服器部署深度學習NLP、CV模型提供線上推理功能
C++開發伺服器部署深度學習NLP、CV模型提供線上推理功能

線上推理網站