PaddleOCR:GPU环境依赖踩坑全记录

部署运行你感兴趣的模型镜像

背景

PaddlePaddle这东西的适配性做得很差,运行环境对包版本经常很严格。我们今天要处理的问题是复现一份基于paddleocr的代码,要求支持cpu推理和gpu单卡推理。

情况摸排

  1. 根据项目其他依赖,选择使用3.8版本的python.
  2. 通过前置测试,确定代码依赖paddlepaddle=2.5.2, paddleocr=2.0.1,在此环境下cpu推理成功。因此,我们为GPU推理选择安装2.5.2版本的paddlepaddle-gpu.

注意,如果是从头开始开发,建议直接选取最新版本的paddle和paddleocr,然后在后续开发中保持版本不变。

  1. 运行环境是实体宿主机,cuda版本12.0,安装位置在/usr/local/cuda/binnvcc -V显示正常。

安装方式

  1. 根据Paddle2.5官方文档,CUDA 工具包 12.0 配合 cuDNN v8.9.1. 这个链接同时提供了 CUDA12.0 包含 cuDNN 动态链接库的 PaddlePaddle安装方式。
pip install paddlepaddle-gpu==2.5.2.post120 -f https://www.paddlepaddle.org.cn/whl/linux/cudnnin/stable.html
  1. 按照这种方式安装paddlepaddle-gpu之后,which python找到目前环境的python的位置,假如是anaconda_path/envs/env_name/bin/python,那么cuDNN 动态链接库的位置在anaconda_path/envs/env_name/lib/python3.8/site-packages/paddle/libs
    在这里插入图片描述
  2. 路径配置,为了paddle能正常找到cuda和cudnn
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=anaconda_path/envs/env_name/lib/python3.8/site-packages/paddle/libs:$LD_LIBRARY_PATH
  1. 检测paddle环境正常:因为没有装nccl,所以此时运行paddle.utils.run_check()是过不了的。但是没关系,我们运行paddle.utils.run_check()指令,观测到前面正常调用gpu+cudnn版本正确即可
$ python
Python 3.8.19 (default, Mar 20 2024, 19:58:24) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle
>>> paddle.utils.run_check()
Running verify PaddlePaddle program ... 
I0521 09:57:48.455099 463860 interpretercore.cc:237] New Executor is Running.
W0521 09:57:48.455610 463860 gpu_resources.cc:96] The GPU architecture in your current machine is Pascal, which is not compatible with Paddle installation with arch: 70 75 80 86 , it is recommended to install the corresponding wheel package according to the installation information on the official Paddle website.
W0521 09:57:48.455624 463860 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 6.1, Driver API Version: 12.0, Runtime API Version: 12.0
W0521 09:57:48.456411 463860 gpu_resources.cc:149] device: 0, cuDNN Version: 8.9.
I0521 09:57:48.978622 463860 interpreter_util.cc:518] Standalone Executor is Used.
PaddlePaddle works well on 1 GPU.
  1. 安装paddleocr
pip install paddleocr==2.0.1
  1. 测试GPU推理代码,输出预期结果并观测到gpu调用

意料外情况处理

报错找不到库文件,参考链接解决:安装新版本gcc

conda install -c conda-forge gcc=12

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

对于在CentOS上配置PaddleOCRGPU环境,以下是一般的步骤: 1. 检查NVIDIA驱动:首先,确保您的GPU驱动程序已正确安装和配置。您可以使用`nvidia-smi`命令来验证驱动程序是否正常工作。 2. 安装CUDA Toolkit:PaddleOCR需要CUDA Toolkit来与GPU进行通信。您可以从NVIDIA官方网站下载适用于您的GPU的CUDA Toolkit,并按照官方文档进行安装。 3. 安装cuDNN库:cuDNN是加速深度学习的GPU库。您需要从NVIDIA开发者网站下载适用于您的CUDA版本的cuDNN库,并按照官方文档进行安装。 4. 创建虚拟环境(可选):为了隔离PaddleOCR依赖环境,您可以使用conda、virtualenv等工具创建一个虚拟环境。 5. 安装PaddlePaddlePaddleOCR是基于PaddlePaddle深度学习框架开发的。您可以使用pip或conda安装PaddlePaddle,具体安装命令可以参考PaddlePaddle官方文档。 6. 安装PaddleOCR:一旦PaddlePaddle安装完成,您可以使用pip安装PaddleOCR。运行以下命令即可: ``` pip install paddlepaddle paddleocr ``` 7. 配置环境变量:为了正确使用PaddleOCR,您需要将PaddlePaddlePaddleOCR的路径添加到系统环境变量中。具体方法取决于您使用的操作系统和shell。 完成上述步骤后,您就成功配置了CentOS上的PaddleOCR GPU环境。您可以根据PaddleOCR文档提供的示例代码来运行OCR任务。请注意,具体的配置步骤可能因您的系统环境和需求而有所不同,建议参考相关文档和资源进行配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值