一、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)
相关推荐
易连EDI—EasyLink19 小时前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
泉飒1 天前
某特定场景下的ocr增强方式
ocr
小陈phd1 天前
多模态大模型学习笔记(三十八)——传统OCR技术机制:从DBNet到CRNN:吃透传统OCR两阶段范式的底层逻辑
笔记·学习·ocr
石榴树下的七彩鱼1 天前
OCR API价格对比2026:身份证/发票/医疗票据识别哪家性价比最高?含Python对接+成本公式
开发语言·人工智能·python·ocr·图像识别·文字识别·api接口
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章56-OCR
图像处理·人工智能·opencv·算法·计算机视觉·ocr
AI人工智能+2 天前
从像素到数据:浅析计算机视觉与自然语言处理驱动的毕业证书识别
深度学习·计算机视觉·自然语言处理·ocr·毕业证书识别
AI人工智能+3 天前
基于深度学习的银行回单识别技术,成为连接物理票据与数字财务系统的桥梁
深度学习·计算机视觉·ocr·银行回单识别
qq_452396233 天前
第十篇:《自动化处理验证码:OCR、接口绕过与第三方服务》
android·自动化·ocr
LcGero3 天前
移动端AI OCR模型选型
人工智能·ai·ocr
LcGero3 天前
腾讯混元OCR:1B小模型如何在OCR界扛起SOTA大旗
ai·ocr·腾讯·sota·混元·1b