一、paddleocr的CPU/GPU环境安装

飞桨CPU/GPU环境安装

一、Windows

1.CPU安装

1.1 python包安装

bash 复制代码
# 安装PaddlePaddle
python -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
# 安装PaddleOCR whl包
python -m pip install "paddleocr[all]" # 推荐使用2.0.1+版本

1.2 运行示例

python 复制代码
from paddleocr import PaddleOCR  # 避免 ValueError: signal only works in main thread

ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=False)
result = ocr.ocr(img_path, cls=True)
print(ocr.ocr(img_path, cls=True))

2.GPU安装

2.1 python包安装

bash 复制代码
# 安装PaddlePaddle(例如cuda 12.6)
python -m pip install paddlepaddle-gpu==3.2.2 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
# 安装PaddleOCR whl包
python -m pip install "paddleocr[all]" # 推荐使用2.0.1+版本

2.2 运行示例

python 复制代码
from paddleocr import PaddleOCR  # 避免 ValueError: signal only works in main thread

ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=True)
result = ocr.ocr(img_path, cls=True)
print(ocr.ocr(img_path, cls=True))

扩展

其他操作系统编译paddle

案例-Linux

  • 支持环境:
    • Linux 版本 (64 bit)
    • CentOS 7 (GPU 版本支持 CUDA 11.0 - 12.0)
    • Ubuntu 18.04 (GPU 版本支持 CUDA 11.0 - 12.0)
    • Ubuntu 20.04 (GPU 版本支持 CUDA 11.0 - 12.0)
    • Python 版本 3.8/3.9/3.10/3.11/3.12 (64 bit)
编译CPU paddle
centos
bash 复制代码
 # 1.检查您的计算机和操作系统是否符合我们支持的编译标准
uname -m && cat /etc/*release

# 2.CentOS 环境 更新yum的源,并添加必要的 yum 源
yum update && yum install -y epel-release

# 3.安装必要的工具
yum install -y bzip2 make

# 4.安装cmake,需要3.18以上
wget -q https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.tar.gz
tar -zxvf cmake-3.18.0-Linux-x86_64.tar.gz
rm cmake-3.18.0-Linux-x86_64.tar.gz
PATH=/home/cmake-3.18.0-Linux-x86_64/bin:$PATH

# 5.安装gcc,需要8.2以上
wget -q --no-proxy https://paddle-ci.gz.bcebos.com/gcc-8.2.0.tar.xz && \
tar -xvf gcc-8.2.0.tar.xz && \
cd gcc-8.2.0 && \
sed -i 's#ftp://gcc.gnu.org/pub/gcc/infrastructure/#https://paddle-ci.gz.bcebos.com/#g' ./contrib/download_prerequisites && \
unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \
./contrib/download_prerequisites && \
cd .. && mkdir temp_gcc82 && cd temp_gcc82 && \
../gcc-8.2.0/configure --prefix=/usr/local/gcc-8.2 --enable-threads=posix --disable-checking --disable-multilib && \
make -j8 && make install

# 6.安装python
教程:https://qingsi.blog.csdn.net/article/details/136277681
# 找到 Python lib 的路径,如果是 3.8、3.9、3.10、3.11、3.12,请将python3改成python3.8、python3.9,python3.10,python3.11,python3.12,然后将下面[python-lib-path]替换为找到文件路径
ln -s /usr/local/python3.9.18/bin/python3 /usr/local/bin/python3.9
ln -s /usr/local/python3.9.18/bin/pip3 /usr/local/bin/pip3.9
# 查找python地址
find `dirname $(dirname $(which python3))` -name "libpython3.so"

# 7. 执行编译前请您确认在虚环境中安装有编译依赖表中提到的相关依赖
# 不能使用 yum 安装的用户请参见 patchElF github官方文档
yum install patchelf
# 如果不能安装,使用下面的教程
# 回到根目录,有gcc-8.2.0的目录
cd /root
wget https://github.com/NixOS/patchelf/archive/refs/tags/0.18.0.tar.gz
tar xf 0.18.0.tar.gz
cd patchelf-0.18.0
./bootstrap.sh
./configure
make && make install
# 测试是否安装成功
patchelf --version

# 8.编译paadle
# 8.1 安装cmake
wget https://github.com/Kitware/CMake/releases/download/v3.16.9/cmake-3.16.9.tar.gz
tar -zxvf cmake-3.16.9.tar.gz && cd cmake-3.16.9 && ./bootstrap && make && make install
# 8.2 centos7.9默认git版本是1.8的,需要升级版本,否则clone不了
yum romove git && yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel && yum install gcc perl-ExtUtils-MakeMaker && wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz  && tar xzf git-2.7.3.tar.gz && cd git-2.7.3 && make prefix=/usr/local/git all && make prefix=/usr/local/git install
# 创建软连接
ln -s /usr/local/git/bin/git /usr/bin/git
# 8.3 下载飞桨源码
git clone https://github.com/PaddlePaddle/Paddle.git && cd Paddle && git checkout develop
# 8.4 创建并进入一个叫 build 的目录下
mkdir build && cd build
# 8.5 编译,如果是GPU,那么 -DWITH_GPU=ON
cmake .. -DPY_VERSION=3.9 -DPYTHON_INCLUDE_DIR='/usr/local/bin/python3.9' -DPYTHON_LIBRARY='/usr/local/python3.9.18/lib/libpython3.so' -DWITH_GPU=OFF
ubuntu
bash 复制代码
 # 1.检查您的计算机和操作系统是否符合我们支持的编译标准
uname -m && cat /etc/*release

# 2.Ubuntu 环境 更新apt的源:
apt update

# 3.安装必要的工具
apt install -y bzip2 make

# 4.安装cmake,需要3.18以上
wget -q https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.tar.gz
tar -zxvf cmake-3.18.0-Linux-x86_64.tar.gz
rm cmake-3.18.0-Linux-x86_64.tar.gz
PATH=/home/cmake-3.18.0-Linux-x86_64/bin:$PATH

# 5.安装gcc,需要8.2以上
wget -q --no-proxy https://paddle-ci.gz.bcebos.com/gcc-8.2.0.tar.xz && \
tar -xvf gcc-8.2.0.tar.xz && \
cd gcc-8.2.0 && \
sed -i 's#ftp://gcc.gnu.org/pub/gcc/infrastructure/#https://paddle-ci.gz.bcebos.com/#g' ./contrib/download_prerequisites && \
unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \
./contrib/download_prerequisites && \
cd .. && mkdir temp_gcc82 && cd temp_gcc82 && \
../gcc-8.2.0/configure --prefix=/usr/local/gcc-8.2 --enable-threads=posix --disable-checking --disable-multilib && \
make -j8 && make install

# 6.安装python
教程:https://qingsi.blog.csdn.net/article/details/136277681
# 找到 Python lib 的路径,如果是 3.8、3.9、3.10、3.11、3.12,请将python3改成python3.8、python3.9,python3.10,python3.11,python3.12,然后将下面[python-lib-path]替换为找到文件路径
ln -s /usr/local/python3.9.18/bin/python3 /usr/local/bin/python3.9
# 查找python地址
find `dirname $(dirname $(which python3))` -name "libpython3.so"

# 7. 执行编译前请您确认在虚环境中安装有编译依赖表中提到的相关依赖
# 不能使用 yum 安装的用户请参见 patchElF github官方文档
yum install patchelf
# 如果不能安装,使用下面的教程
# 回到根目录,有gcc-8.2.0的目录
cd /root
wget https://github.com/NixOS/patchelf/archive/refs/tags/0.18.0.tar.gz
tar xf 0.18.0.tar.gz
cd patchelf-0.18.0
./bootstrap.sh
./configure --prefix="$HOME/.local"

案例-Linux下编译GPU paddle

离线运行飞桨

python 复制代码
# 需要将对应的模型包,解压到不同的目录,并且在实例化ocr对象的时候,指定对应目录
ocr = PaddleOCR(use_angle_cls=True,
                det_model_dir="./paddle_det_model",
                rec_model_dir="./paddle_rec_model",
                cls_model_dir="./paddle_mobile_cls",
                lang="ch", use_gpu=True, show_log=False)
相关推荐
wxl78122718 小时前
OCR TXT文档语义分块技术实现
ocr·chunk·语义分块
番石榴AI21 小时前
纯 Java 实现的 OCR 推理系统:JiaJiaOCR,告别 exe/dll 依赖!
java·开发语言·ocr
秋921 小时前
Tesseract OCR 安装使用 + 自定义字库训练
ocr
GitCode官方21 小时前
Hunyuan OCR & Z-Image-Turbo 正式上线!两大模型在 NPU 加速平台完成部署,开启 AI 识图新时代!
人工智能·ocr
5008421 小时前
鸿蒙 Flutter AI 引擎实战:OCR 图文识别离线部署与准确率优化
java·人工智能·flutter·华为·性能优化·ocr
七夜zippoe2 天前
多模态模型实践 - 使用GPT-4V构建多模态应用
ocr·多模态·gpt-4v·核心算法·甲骨
AI人工智能+2 天前
文档抽取技术:融合深度学习与多模态分析,为RPA机器人注入了智能处理能力
ocr·rpa·文档抽取
EkihzniY2 天前
OCR定制识别:解锁文字识别的无限可能
大数据·人工智能·ocr
翔云 OCR API2 天前
OCR报关单-进出口报关单识别接口-智能通关
ocr