赞
踩
PaddleOCR是一个基于飞桨框架开发的开源OCR工具,提供了一系列强大的文本识别功能。PaddleOCR支持多种文本识别任务,包括文字检测、文字识别、文本方向检测等。它具有高效、准确的特点,适用于多种场景下的文本识别需求,如身份证识别、车牌识别、表格识别等。PaddleOCR具有丰富的模型库,包括超轻量级的模型、高精度的模型等,用户可以根据具体需求选择合适的模型进行文本识别。此外,PaddleOCR还提供了易于使用的API接口和丰富的文档,方便用户快速部署和使用。博文实验环境如下:
PaddleOCR的最新版本是2.7.1,但是environment.md最近一次更新还是2年前了,所以这个环境要求已经过时,只是最低要求参考。PaddleOCR安装需要依赖PaddlePaddle,所以我们参照paddle安装时的版本python、cuda版本要求即可。我们安装PaddlePaddle最新稳定版本2.6
使用命令"lspci | grep -i nvidia"查看主机是否有显卡,paddlenlp在cpu环境也可以运行,但是如果需要大模型功能需要GPU。
银河麒麟环境下安装显卡驱动参考博文银河麒麟之NVIDIA GeForce显卡驱动安装。使用nvidia-smi命令可以确认是否安装驱动,以及查看显卡参数和运行信息。
anaconda3的安装可以参考博文Linux之anaconda3安装及使用,虽然系统略有区别,但是安装方式是一样的。anaconda3不是必须的,只是如果我们需要使用不同的python版本进行验证测试,anaconda3是一个非常不错的选择,通过虚环境管理,非常方便。
(base) wuhs@test:~/anaconda3$ conda --version
conda 24.1.2
安装完成anaconda3后我们创建一个python版本为3.11.5的虚拟环境。
(base) wuhs@test:~$ conda create -n paddleocr python=3.11.5
通过conda activate切换到新建的paddlenlp虚拟环境。
(base) wuhs@test:~$ conda activate paddlenlp
(paddleocr) wuhs@test:~$
访问百度飞浆官网
(paddleocr) wuhs@test:~$ conda install paddlepaddle-gpu==2.6.0 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge
…
(paddleocr) wuhs@test:~$ python
Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import paddle
>>> paddle.version
‘2.6.0’
访问paddlenlp的GitHub地址,可以下载该文件或者复制文件内容自己创建requirements.txt文件。
(paddleocr) bdsc@kylinv10:~/anaconda3/requirementfiles$ cat paddleocr_github.txt
shapely
scikit-image
imgaug
pyclipper
lmdb
tqdm
numpy
visualdl
rapidfuzz
opencv-python<=4.6.0.66
opencv-contrib-python<=4.6.0.66
cython
lxml
premailer
openpyxl
attrdict
PyMuPDF<1.21.0
Pillow
未安装swig,在安装依赖软件包PyMuPDF的时候会报错。
(paddleocr) wuhs@test:~/data/requirements$ pip3 install swig
Collecting swig
Downloading swig-4.2.1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (3.6 kB)
Downloading swig-4.2.1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 110.2 kB/s eta 0:00:00
Installing collected packages: swig
Successfully installed swig-4.2.1
根据创建的requirements.txt文件,使用pip3命令安装相关依赖软件包。
(paddlenlp) wuhs@test:~/data/requirements$ pip3 install -r paddleocr_github.txt
pip方式安装paddleocr。
(paddleocr) wuhs@test:~/anaconda3$ pip3 install paddleocr
安装完成后使用pip3 show paddleocr或者conda list paddleocr命令查看版本是否正常输出显示。进入python交互模式,导入paddleocr模块看是否报错,无报错说明安装成功。
(paddleocr) wuhs@test :/data/bdscdata/code/lexical_analysis$ conda list paddleocr
…
paddleocr 2.7.0.3 pypi_0 pypi
(paddleocr) wuhs@test :~/anaconda3$ python
Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import paddleocr
>>> paddleocr.version
‘2.7.0.3’
安装完成我们可以实验PaddleOCR在GitHub官网上的python代码进行功能验证。
将需要识别的图片上传到指定目录。
切换到paddleocr虚拟环境下,进入python交互模式执行如下代码。
from paddleocr import PaddleOCR, draw_ocr
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
result = ocr.ocr(img_path, cls=True)
for idx in range(len(result)):
res = result[idx]
for line in res:
print(line)
执行完成后结果输出文字内容与图片一致说明,paddleocr大模型部署正常。
如果是基于GPU运行paddleocr还需要paddlepaddle支持,而paddle需要cuda、cudnn的支持,而且需要版本相匹配。如果没有GPU,也是支持CPU运行的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。