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: [email protected]
# 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
相关推荐
一颗红心丶2 小时前
Windows系统上离线部署Python运行飞桨(PaddlePaddle) OCR服务
windows·python·paddlepaddle
Zheng.Zeng9 天前
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
人工智能·paddlepaddle
DisonTangor1 个月前
百度飞桨PaddleOCR 3.0开源发布 OCR精度跃升13%
百度·ocr·paddlepaddle
米饭咔咔吃1 个月前
飞桨paddle import fluid报错【已解决】
人工智能·paddlepaddle·paddle
米饭咔咔吃1 个月前
飞桨paddle ‘ParallelEnv‘ object has no attribute ‘_device_id‘【已解决】
人工智能·paddlepaddle·paddle
Java般若生1 个月前
百度飞桨OCR(PP-OCRv4_server_det|PP-OCRv4_server_rec_doc)文本识别-Java项目实践
ocr·paddlepaddle
林泽毅1 个月前
PaddleNLP框架训练模型:使用SwanLab教程
人工智能·深度学习·机器学习·大模型·paddlepaddle·模型训练·swanlab
Grassto1 个月前
dockerfile: PaddleOCR hubserving api 服务
docker·ocr·paddleocr
令狐少侠20111 个月前
PaddlePaddle 和PyTorch选择与对比互斥
人工智能·pytorch·paddlepaddle