PaddleOCR环境安装-踩坑记录

出发点

最近有搞OCR的心,调研了一下最新的开源代码,发现还是paddleOCR做的最好,那就先从这个开始部署一下环境吧
github paddleOCR
PaddlePaddle 3.0

安装paddlepaddle

开始使用

从上图可以看到,paddlepaddle提供了多种安装方法,我一如既往的选择linux+docker+英伟达+cuda11.8的方式来安装

python 复制代码
docker pull paddlepaddle/paddle:3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6
# paddle的镜像是真大啊
docker run --gpus all --name paddle_docker -v $PWD:/paddle --network=host -it paddlepaddle/paddle:3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6 /bin/bash
# 新建容器

安装paddleOCR

python 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install paddleocr

是不是看起来很简单?第一个报错来了。。

报错1

我在网上搜了一下,发现需要手动删除PyYAML的文件,操作如下:

python 复制代码
pip show PyYAML
# Name: PyYAML
# Version: 5.3.1
# Summary: YAML parser and emitter for Python
# Home-page: https://github.com/yaml/pyyaml
# Author: Kirill Simonov
# Author-email: xi@resolvent.net
# License: MIT
# Location: /usr/lib/python3/dist-packages
# Requires:
# Required-by:
rm -rf /usr/lib/python3/dist-packages
pip install paddleocr
# 安装成功

报错2

安装成功了,是不是就可以进行OCR识别了呢?

python 复制代码
paddleocr ocr -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False 

然后就来了第二个报错

服务器没能成功下载这个字体,那我去代码上看了一下,找到了完整的链接(/usr/local/lib/python3.10/dist-packages/paddlex/utils/fonts/init.py#L36)

python 复制代码
https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/fonts/PingFang-SC-Regular.ttf

我从本地上下载了下来,上传到服务器,那要放到哪里呢?打印代码里的font_path,看到了(/root/.paddlex/fonts/PingFang-SC-Regular.ttf)

那就把这个字体放过去

继续下载一个字体

python 复制代码
https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/fonts/simfang.ttf

继续放到(/root/.paddlex/fonts/)下

报错3

在下载一个模型文件,没有成功,那就手动下载吧

python 复制代码
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_det_infer.tar 

打开/usr/local/lib/python3.10/dist-packages/paddlex/utils/download.py进行修改

python 复制代码
# 将PP-OCRv5_server_det_infer.tar放入/root/.paddlex/official_models/
def download_and_extract(
    url, save_dir, dst_name, print_progress=True, overwrite=False, no_interm_dir=True
):
    """download and extract"""
    # NOTE: `url` MUST come from a trusted source, since we do not provide a solution
    # to secure against CVE-2007-4559.
    os.makedirs(save_dir, exist_ok=True)
    dst_path = os.path.join(save_dir, dst_name)
    print ("dst_path", dst_path)
    if overwrite:
        _remove_if_exists(dst_path)

    if not os.path.exists(dst_path):
        with tempfile.TemporaryDirectory() as td:
            td = save_dir# 将td改为固定的路径 /root/.paddlex/official_models/
            arc_file_path = os.path.join(td, url.split("/")[-1])
            extd_dir = os.path.splitext(arc_file_path)[0]
            print ("arc_file_path", arc_file_path)
            #_download(url, arc_file_path, print_progress=print_progress)# 将下载注释掉,因为我们手动下载了

再次运行,报错

python 复制代码
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_rec_infer.tar
# 将这个文件放入/root/.paddlex/official_models/

再次运行,就可以看到下一个错误了

报错4


文件不存在,那就看一下这个文件是啥?

做完这一步修改,看到默认的图片是网上的图片,我想还是自己下载下来放到某个路径下吧。。

运行

python 复制代码
paddleocr ocr -i /root/.paddlex/imgs/general_ocr_002.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False

成功

总结

下载了四个文件

python 复制代码
https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/fonts/PingFang-SC-Regular.ttf
https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/fonts/simfang.ttf

https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_det_infer.tar 
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_rec_infer.tar

补充

python 复制代码
# 运行 PP-StructureV3 推理
paddleocr pp_structurev3 -i /root/.paddlex/imgs/general_ocr_002.png --use_doc_orientation_classify False --use_doc_unwarping False

# 下载文件
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-DocBlockLayout_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-DocLayout_plus-L_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-LCNet_x1_0_textline_ori_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-LCNet_x1_0_table_cls_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/SLANeXt_wired_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/SLANet_plus_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-FormulaNet_plus-L_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/RT-DETR-L_wired_table_cell_det_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/RT-DETR-L_wireless_table_cell_det_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv4_server_seal_det_infer.tar
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-LCNet_x1_0_doc_ori_infer.tar
相关推荐
wyw00002 天前
paddlehub环境搭建和测试
paddlepaddle
cooldream20092 天前
「源力觉醒 创作者计划」_基于 PaddlePaddle 部署 ERNIE-4.5-0.3B 轻量级大模型实战指南
人工智能·paddlepaddle·文心大模型
云天徽上4 天前
【PaddleOCR】OCR表格识别数据集介绍,包含PubTabNet、好未来表格识别、WTW中文场景表格等数据,持续更新中......
python·ocr·文字识别·表格识别·paddleocr·pp-ocrv5
云天徽上6 天前
【PaddleOCR】OCR常见关键信息抽取数据集,包含FUNSD、XFUND、WildReceipt等整理,持续更新中......
人工智能·计算机视觉·信息可视化·paddlepaddle·paddleocr·文本识别
Sliphades6 天前
PaddleOCR独立服务:高效OCR一站式解决方案
paddlepaddle·ai ocr
univerbright20 天前
百度飞桨(PaddlePaddle)案例分享:基于 PaddleOCR 的图像文字提取系统
人工智能·百度·paddlepaddle·paddleocr·图像文字提取
一颗红心丶22 天前
Windows系统上离线部署Python运行飞桨(PaddlePaddle) OCR服务
windows·python·paddlepaddle
Zheng.Zeng1 个月前
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
人工智能·paddlepaddle
DisonTangor2 个月前
百度飞桨PaddleOCR 3.0开源发布 OCR精度跃升13%
百度·ocr·paddlepaddle