百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 預測部署簡介與總覽
百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 Paddle Inference 模型推理(離線部署)
百度飛槳(PaddlePaddle) - PP-OCRv3 文字檢測識別系統 基於 Paddle Serving快速使用(服務化部署)
本章主要介紹PP-OCRv2系統的高效能推理方法、服務化部署方法以及端側部署方法。通過本章的學習,您可以學習到:
在前面幾個章節中,我們通過模型訓練的方法,得到了訓練好的模型,在使用它去預測的時候,我們首先需要定義好模型,然後載入訓練好的模型,再將預處理之後的資料送進網路中進行預測、後處理,得到最終的結果。使用這種方法去進行預測,偵錯方便,但是預測效率比較低下。
針對上面的問題,對於訓練得到的模型,一般有下面2種離線預測的方式。
二者具體的區別如下所示。
基於訓練引擎推理 | 基於預測引擎推理 | |
---|---|---|
特點 | 1. 和訓練使用同一套引擎 2. 預測時需要定義網路模型 3. 不適合系統整合 |
1. 需要轉換模型,去掉與推理無關的部分 2. 預測時無需定義網路模型 3. 適合系統整合 |
程式語言 | 多為Python | Python或者C++ |
預測步驟 | 1. Python端定義網路結構 2. 準備輸入資料 3. 載入訓練模型 4. 執行預測 |
1. 準備輸入資料 2. 載入模型結構和模型引數 3.執行預測 |
在實際離線預測部署中,更推薦基於預測引擎進行推理。
從應用場景來看,飛槳針對不同應用場景,提供了下面一些推理部署方案。
具體地,PaddleOCR 針對不同應用場景,提供了三種預測部署方案。
本章基於PP-OCRv2,介紹文字檢測、識別以及系統串聯預測推理與部署過程。
體驗本章節內容需要首先下載PaddleOCR程式碼,安裝相關依賴,具體命令如下。
import os
os.chdir("/home/aistudio")
# 下載程式碼
!git clone https://gitee.com/paddlepaddle/PaddleOCR.git
os.chdir("/home/aistudio/PaddleOCR")
# 安裝執行所需要的whl包
!pip install -U pip
!pip install -r requirements.txt
# VQA任務中需要用到該庫
!pip install paddlenlp==2.2.1
# 匯入一些庫
import cv2
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import os