飞桨PaddleOCR环境搭建
1. 確認(rèn)環(huán)境是否支持
我用的實(shí)踐環(huán)境:
一臺(tái)Windows7_x64,和一臺(tái)Windows10_x64
Python 3.8.5
pip 21.0.1
我是安裝的CPU版,對(duì)CUDA沒(méi)有特別要求。
2. 在PyCharm中創(chuàng)建一個(gè)新的工程
其中pip升級(jí)了一次,注意升級(jí)時(shí)要先把原來(lái)虛擬環(huán)境中的pip包刪除,否則更新不了。
3. 安裝PaddleOCR包
在虛擬環(huán)境中用pip安裝
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple4. 驗(yàn)證安裝
import paddleif __name__ == '__main__':paddle.utils.run_check()5. 下載PaddleOCR repo代碼
可以用git clone(推薦)
git clone https://github.com/PaddlePaddle/PaddleOCR也可以通svn checkout
svn co https://github.com/PaddlePaddle/PaddleOCR/trunk在PyCharm中將PaddleOCR文件夾設(shè)置成源碼目錄
6. 安裝相關(guān)第三方庫(kù)
cd PaddleOCR pip install -r requirements.txt安裝前可能需要修改一下倉(cāng)庫(kù)地址:https://mirror.baidu.com/pypi/simple/
并且這一步驟依賴vc14編譯工具,否則會(huì)報(bào)錯(cuò):
可以按照提示從官方鏈接下載:https://visualstudio.microsoft.com/visual-cpp-build-tools/
然后雙擊安裝
相關(guān)第三方庫(kù)安裝完成后的效果如下圖:
(venv) D:\000\PaddleStudy\PaddleOCR>pip install -r requirements.txt Requirement already satisfied: shapely in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 1)) (1.7.1) Requirement already satisfied: scikit-image==0.17.2 in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 2)) (0.17.2) Requirement already satisfied: imgaug==0.4.0 in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 3)) (0.4.0) Requirement already satisfied: pyclipper in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 4)) (1.2.1) Requirement already satisfied: lmdb in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 5)) (1.1.1) Requirement already satisfied: opencv-python==4.2.0.32 in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 6)) (4.2.0.32) Requirement already satisfied: tqdm in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 7)) (4.59.0) Requirement already satisfied: numpy in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 8)) (1.19.3) Requirement already satisfied: visualdl in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 9)) (2.1.1) Requirement already satisfied: python-Levenshtein in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 10)) (0.12.2) Requirement already satisfied: matplotlib in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (3.3.4) Requirement already satisfied: Pillow in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (8.1.2) Requirement already satisfied: imageio in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (2.9.0) Requirement already satisfied: scipy in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (1.6.1) Requirement already satisfied: six in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (1.15.0) Requirement already satisfied: tifffile>=2019.7.26 in d:\000\paddlestudy\venv\lib\site-packages (from scikit-image==0.17.2->-r requirements.txt (line 2)) (2021.3.5) Requirement already satisfied: networkx>=2.0 in d:\000\paddlestudy\venv\lib\site-packages (from scikit-image==0.17.2->-r requirements.txt (line 2)) (2.5) Requirement already satisfied: PyWavelets>=1.1.1 in d:\000\paddlestudy\venv\lib\site-packages (from scikit-image==0.17.2->-r requirements.txt (line 2)) (1.1.1) Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (2.4.7) Requirement already satisfied: kiwisolver>=1.0.1 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (1.3.1) Requirement already satisfied: python-dateutil>=2.1 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (2.8.1) Requirement already satisfied: cycler>=0.10 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (0.10.0) Requirement already satisfied: decorator>=4.3.0 in d:\000\paddlestudy\venv\lib\site-packages (from networkx>=2.0->scikit-image==0.17.2->-r requirements.txt (line 2)) (4.4.2) Requirement already satisfied: setuptools in d:\000\paddlestudy\venv\lib\site-packages (from python-Levenshtein->-r requirements.txt (line 10)) (54.1.0) Requirement already satisfied: pre-commit in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (2.10.1) Requirement already satisfied: flake8>=3.7.9 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (3.8.4) Requirement already satisfied: requests in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (2.25.1) Requirement already satisfied: Flask-Babel>=1.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (2.0.0) Requirement already satisfied: bce-python-sdk in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (0.8.53) Requirement already satisfied: protobuf>=3.11.0 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (3.15.5) Requirement already satisfied: shellcheck-py in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (0.7.1.1) Requirement already satisfied: flask>=1.1.1 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (1.1.2) Requirement already satisfied: pyflakes<2.3.0,>=2.2.0 in d:\000\paddlestudy\venv\lib\site-packages (from flake8>=3.7.9->visualdl->-r requirements.txt (line 9)) (2.2.0) Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in d:\000\paddlestudy\venv\lib\site-packages (from flake8>=3.7.9->visualdl->-r requirements.txt (line 9)) (0.6.1) Requirement already satisfied: pycodestyle<2.7.0,>=2.6.0a1 in d:\000\paddlestudy\venv\lib\site-packages (from flake8>=3.7.9->visualdl->-r requirements.txt (line 9)) (2.6.0) Requirement already satisfied: Jinja2>=2.10.1 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (2.11.3) Requirement already satisfied: click>=5.1 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (7.1.2) Requirement already satisfied: itsdangerous>=0.24 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (1.1.0) Requirement already satisfied: Werkzeug>=0.15 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (1.0.1) Requirement already satisfied: pytz in d:\000\paddlestudy\venv\lib\site-packages (from Flask-Babel>=1.0.0->visualdl->-r requirements.txt (line 9)) (2021.1) Requirement already satisfied: Babel>=2.3 in d:\000\paddlestudy\venv\lib\site-packages (from Flask-Babel>=1.0.0->visualdl->-r requirements.txt (line 9)) (2.9.0) Requirement already satisfied: MarkupSafe>=0.23 in d:\000\paddlestudy\venv\lib\site-packages (from Jinja2>=2.10.1->flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (1.1.1) Requirement already satisfied: pycryptodome>=3.8.0 in d:\000\paddlestudy\venv\lib\site-packages (from bce-python-sdk->visualdl->-r requirements.txt (line 9)) (3.10.1) Requirement already satisfied: future>=0.6.0 in d:\000\paddlestudy\venv\lib\site-packages (from bce-python-sdk->visualdl->-r requirements.txt (line 9)) (0.18.2) Requirement already satisfied: toml in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (0.10.2) Requirement already satisfied: virtualenv>=20.0.8 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (20.4.2) Requirement already satisfied: identify>=1.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (2.1.0) Requirement already satisfied: cfgv>=2.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (3.2.0) Requirement already satisfied: pyyaml>=5.1 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (5.4.1) Requirement already satisfied: nodeenv>=0.11.1 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (1.5.0) Requirement already satisfied: distlib<1,>=0.3.1 in d:\000\paddlestudy\venv\lib\site-packages (from virtualenv>=20.0.8->pre-commit->visualdl->-r requirements.txt (line 9)) (0.3.1) Requirement already satisfied: appdirs<2,>=1.4.3 in d:\000\paddlestudy\venv\lib\site-packages (from virtualenv>=20.0.8->pre-commit->visualdl->-r requirements.txt (line 9)) (1.4.4) Requirement already satisfied: filelock<4,>=3.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from virtualenv>=20.0.8->pre-commit->visualdl->-r requirements.txt (line 9)) (3.0.12) Requirement already satisfied: certifi>=2017.4.17 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (2020.12.5) Requirement already satisfied: idna<3,>=2.5 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (2.10) Requirement already satisfied: urllib3<1.27,>=1.21.1 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (1.26.3) Requirement already satisfied: chardet<5,>=3.0.2 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (4.0.0)7. 創(chuàng)建目錄
下列目錄需要手工創(chuàng)建
ch_lite
det_db
inference
inference_results
models
8. 下載文本檢測(cè)、文本識(shí)別、文本方向分類模型的參數(shù)文件
【文本檢測(cè)模型】 下載地址:
https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar
解壓到ch_lite目錄下
【文本識(shí)別模型】下載地址:
https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_train.tar
解壓到ch_lite目錄下
【文本方向分類模型】下載地址:
https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar
解壓到ch_lite目錄下
直接下載解壓后,可能出現(xiàn)壓縮包內(nèi)的某些“文件夾”會(huì)顯示成“文件”。
我試驗(yàn)了在Linux下用wget下載tar包,然后用tar -xf解壓,可以解決此問(wèn)題。感覺(jué)大概率應(yīng)該是出在解壓上,在windows上也可以嘗試用別的解壓軟件試試看。
9. 將模型參數(shù)文件轉(zhuǎn)換成inference模型
(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>python tools/export_model.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./ch_lite/ch_ppocr_mobile_v1.1_det_train/best_accuracy Global.save_inference_dir=./inference/det_db [2021/03/11 16:21:47] root INFO: resume from ./ch_lite/ch_ppocr_mobile_v1.1_det_train/best_accuracy [2021/03/11 16:21:52] root INFO: inference model is saved to ./inference/det_db//inference(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>python tools/export_model.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=./ch_lite/ch_ppocr_mobile_v1.1_rec_train/best_accuracy Global.save_i erence_dir=./inference/rec_crnn/ [2021/03/11 16:22:04] root INFO: resume from ./ch_lite/ch_ppocr_mobile_v1.1_rec_train/best_accuracy [2021/03/11 16:22:08] root INFO: inference model is saved to ./inference/rec_crnn//inference(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>python tools/export_model.py -c configs/cls/cls_mv3.yml -o Global.checkpoints=./ch_lite/ch_ppocr_mobile_v1.1_cls_train/best_accuracy Global.save_inference_dir=./inference/cls/ [2021/03/11 16:22:15] root INFO: resume from ./ch_lite/ch_ppocr_mobile_v1.1_cls_train/best_accuracy [2021/03/11 16:22:19] root INFO: inference model is saved to ./inference/cls//inference(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>其中:
# -c后面設(shè)置訓(xùn)練算法的yml配置文件
# -o配置可選參數(shù)
# Global.checkpoints 參數(shù)指向訓(xùn)練中保存的模型參數(shù)文件,不用添加文件后綴.pdmodel,.pdopt或.pdparams。
# Global.save_inference_dir 參數(shù)設(shè)置轉(zhuǎn)換的模型將保存的地址。
轉(zhuǎn)換完成后
在inference/det_db下生成了以下文件(文本檢測(cè)模型):
在inferencerec_crnn下生成了以下文件(文本識(shí)別模型):
在inference/cls下生成了以下文件(文本方向分類模型):
我留意到,不同環(huán)境下生成的.pdmodel模型文件大小會(huì)不同(.pdiparams和.info對(duì)應(yīng)文件大小相同),我在另一臺(tái)windows10上的文件大小為:
inference/det_db/inference.pdmodel - 1149KB
inference/rec_crnn/inference.pdmodel - 848KB
inference/cls/inference.pdmodel - 835KB
【參考文獻(xiàn)】
飛槳安裝文檔:
https://www.paddlepaddle.org.cn/install/quick
基于Python預(yù)測(cè)引擎推理:
https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/inference.md
PaddleOCR簡(jiǎn)單文字識(shí)別使用
https://blog.csdn.net/weixin_43134049/article/details/110670762
總結(jié)
以上是生活随笔為你收集整理的飞桨PaddleOCR环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 联想e570c怎么开启蓝牙 如何打开联想
- 下一篇: php web server部署(PHP