电竞比分网-中国电竞赛事及体育赛事平台

分享

離線部署PaddleOCR教程(我親自測試過)

 hncdman 2022-05-25 發(fā)布于湖南

根據(jù)本教程是可以成功的,可與paddle ocr 安裝部署與使用教程(解決出錯可參考)配合使用,
本教程演示 Anaconda 下 離線部署 Paddle OCR教程  人人可用

準(zhǔn)備工作 自行安裝  Anaconda  安裝 時候該勾選的全部勾選  python3.8記得勾選 如果已有其他版本的python  請自行測試

正式開始


1.官網(wǎng)https://www./install/quick?docurl=/documentation/docs/zh/install/conda/windows-conda.html


按照 自己配置 選擇安裝    pip 未安裝成功 各種報錯 docker未測試  

需注意 cuda版本 必須和顯卡驅(qū)動對應(yīng) 可以向下兼容

需要確認(rèn)的步驟 官網(wǎng)寫的很清楚

2.
安裝完成后  安裝 paddleHub Anaconda命令下 pip install paddlehub -i https://mirror.baidu.com/pypi/simple --default-timeout=100   后面的鏈接是鏡像加速 不加鏈接 95%會各種失敗

3.
pip install cython -i  https://mirror.baidu.com/pypi/simple --default-timeout=100

4.
下載 PaddleOCR   https:///paddlepaddle/PaddleOCR?_from=gitee_search   打開網(wǎng)址 點擊 克隆/下載  下載之后 解壓

5.  
cd 到  剛才下載的目錄下

6.   
特別注意這一步 很容易在這一步 走不出來
安裝檢測識別串聯(lián)服務(wù)模塊   必須 先cd到 paddleOCR目錄


hub install deploy/hubserving/ocr_system/
hub install deploy/hubserving/ocr_cls/
hub install deploy/hubserving/ocr_det/
hub install deploy/hubserving/ocr_rec/     這幾個命令 直接復(fù)制過去  enter  等待執(zhí)行



注意 此時會報錯  看報錯的最后一行 提示  


缺少什么 就安裝什么  具體命令為
pip install shapely -i  https://mirror.baidu.com/pypi/simple --default-timeout=100    其中 shapely 為缺少的庫  只做例子  會報錯幾個缺少庫  
提示缺paddle時用下面的,版本看GITEE上的就行
python -m pip install --upgrade pip

python -m pip install paddlepaddle==2.3.0 -i https://mirror.baidu.com/pypi/simple

記得看命令號 如果 安裝報錯 可以多安裝幾次  


缺少dll就下載dll 自定百度  看命令行上 提示的路徑 下載dll復(fù)制進(jìn)bin目錄  再次運行命令



7.
下載 識別模型 https://hub./PaddlePaddle/PaddleOCR/blob/release/2.3/README_ch.md  自帶的是 mobile模型  

如需更改 模型名稱 在  deploy\hubserving\.\ 的  params.py  中更改即可,根據(jù)下載的模型自已修改
{

① 將reference文件夾解壓,拷貝至 ~/ocr/PaddleOCR/ 目錄下

② 配置模型路徑,修改params.py文件

cfg.det_model_dir="~/ocr/PaddleOCR/reference/ch_ppocr_mobile_v2.0_det_infer/"
cfg.rec_model_dir="~/ocr/PaddleOCR/reference/ch_ppocr_mobile_v2.0_rec_infer/"
cfg.cls_model_dir="~/ocr/PaddleOCR/reference/ch_ppocr_mobile_v2.0_cls_infer/"

}
這里提供 百度云鏈接 已替換成 高精度 的識別模型 可直接下載 解壓的PaddleOCR的根目錄即可無需更改 也就是之前下載的PaddleOCR目錄


--來自百度網(wǎng)盤超級會員V6的分享

PaddleOCR下新建'inference’文件夾,準(zhǔn)備推理模型并放到'inference’文件夾里面,默認(rèn)使用的是v1.1版的超輕量模型,

https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/quickstart.md 

默認(rèn)模型路徑為:

檢測模型:./inference/ch_ppocr_mobile_v1.1_det_infer/
識別模型:./inference/ch_ppocr_mobile_v1.1_rec_infer/
方向分類器:./inference/ch_ppocr_mobile_v1.1_cls_infer/

模型路徑可在params.py中查看和修改。 更多模型可以從PaddleOCR提供的模型庫下載,也可以替換成自己訓(xùn)練轉(zhuǎn)換好的模型。


8.
再次 輸入(前提是 沒有報錯 )
hub install deploy/hubserving/ocr_system/
hub install deploy/hubserving/ocr_cls/
hub install deploy/hubserving/ocr_det/
hub install deploy/hubserving/ocr_rec/


此時會提示

[2021-09-28 13:16:00,232] [    INFO] - Successfully uninstalled ocr_system
[2021-09-28 13:16:00,677] [    INFO] - Successfully installed ocr_system-1.0.0   類似這種   這就成功了
?。。?!一定注意命令行 缺少什么就裝什么 無腦裝 如果都裝了還是不行 別慌  重復(fù)第二個步驟

9.最后 啟動 Hubseving

這里提供  用config的方式 啟動 其他方式 請看 官網(wǎng)的文檔命令

配置文件在 剛才下載的 paddleOCR   目錄下的 \deploy\hubserving\ocr_system\config.json  可自行修改  
如果用CPU  config中的use_gpu  改為false  注意  paddleOCR  在 windows下 是不支持多線程的  
//GPU的識別速度是CPU的8-10倍左右  有條件的 建議GPU
//實測 CPU 100次 在13秒左右 GPU只需要2-3秒

開始運行
hub serving start -c  PaddleOCR目錄+"\deploy\hubserving\ocr_system\config.json"   用配置文檔 啟動 具體每個參數(shù)代表的什么意思 看官方文檔介紹

此時 如無意外 提示
* Serving Flask app "paddlehub.serving.app_compat" (lazy loading)
* Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:8868/ (Press CTRL+C to quit)

10 調(diào)用
最后附上 POST 提交識別代碼

?
.版本 2
.支持庫 spec
.局部變量 base64, 文本型
.局部變量 Str, 文本型
.局部變量 post, 文本型

base64 = 到文本 (編碼_BASE64編碼A (#圖片1, ))
post = “{\'images\': [\'” + base64 + “\']}”
post = 子文本替換 (post, “'”, #引號, , , 真)
post = 子文本替換 (post, “\”, “”, , , 真)
Str = 編碼_utf8到gb2312 (到文本 (網(wǎng)頁_訪問_對象 (“http://127.0.0.1:8868/predict/ocr_system”, 1, post, , , “Content-Type:application/json”, , , , , , , , , , , , , )))
調(diào)試輸出 (Str)

這里的協(xié)議頭 是必須要帶上  勿忘  
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
寫在最后 python版本不一樣 會出現(xiàn)各種報錯 也許也是我的問題 大家可以研究研究
//GPU的 安裝 也在 官網(wǎng) 自己對應(yīng)版本安裝 conda install paddlepaddle-gpu==2.1.3 cudatoolkit=10.2 --channel file:///C:/Users/Q/AppData/Roaming/Tencent/QQTempSys/%W@GJ$ACOF(TYDYECOKVDYB.pnghttps://mirrors.tuna./anaconda/cloud/Paddle/
cudnn需要根據(jù)cuda版本 自己選擇安裝一般 7.6  如果 有報錯 命令行 會有提示 仔細(xì)看看 就行
需要更改 config  use_gpu:true  
另外需要設(shè)置環(huán)境變量
set CUDA_VISIBLE_DEVICES=1  //具體 對應(yīng)的參數(shù) 是GPU的ID  這個我也不是太懂 一般就是 1  可以自行百度 研究下
另外 如果重啟過后 提示 找不到 ocr_serving 直接重復(fù)步驟8  再重新啟動 就可以了
GPU第一次運行識別 會檢測 cuda和cudnn版本   會慢一點 第二次識別好了
/////另外如果需要編譯好的EXE 可以找我 (付費)  一鍵啟動 無需任何設(shè)置

用模型V1.1時報正面的錯:
not find model file path ./inference/ch_ppocr_mobile_v1.1_det_infer//inference.pdmodel

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多