关于PaddleOCR使用踩坑

首先,环境上,注意PaddleOCR是以PaddlePaddle为基础的,而PaddlePaddle在>2.4的版本使用时候需要注意会与torch冲突,具体原因是CUDA注册表冲突

可采取措施:

  1. 降低Paddle版本
  2. 如有多卡可考虑采用分卡使用的方式,在device设置时候专门腾出一张卡供PaddleOCR使用

当产生报错如下

C++ Traceback (most recent call last):

No stack trace in paddle, may be caused by external reasons.

此处为CUDA和CUDNN版本不合导致

而在调整版本后出现如下问题

这里就涉及到一些有关CUDA, CUDNN, 显卡, 驱动...之间关系的问题了

总结一句话4090作为消费级显卡本身作用并不是用作深度学习炼丹,使用上容易出现问题,比如这里就是我们的驱动里面 没有libcuda.so这个driver

了解到这个问题之后我果断放弃公司服务器上的使用

因为我只是需要OCR来准备数据集,所以改用我自己的电脑以及同事的私人电脑(我的是3060,他的为3070)

在同事的私人电脑上运行出现问题

RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_8.dll) that Paddle depends on is not configured correctly. (error code is 126) Suggestions: 1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed co

该问题是一类问题,我称之为动态链接库问题

依照该博客尝试解决后,出现新问题

Could not locate zlibwapi.dll. Please make sure it is in your library path!

在NVIDIA寻找下载,并未找到因此我在电脑内查找,发现虚拟环境内的torch下有该文件

那么问题迎刃而解直接复制粘贴

最后用两行代码进行检测

import paddle
print(paddle.utils.run_check())

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PaddleOCR是一个基于PaddlePaddle深度学习框架的OCR(Optical Character Recognition,光学字符识别)工具包,可以识别各种文字类型的图片,包括中文、英文、数字等。本文将介绍如何使用PaddleOCR进行文字识别。 ## 安装PaddleOCR PaddleOCR的安装非常简单,只需要使用pip命令即可: ``` pip install paddleocr ``` ## 使用PaddleOCR 使用PaddleOCR进行文字识别非常简单,只需要导入包并调用相应的函数即可。以下是一个简单的示例代码: ``` python import paddleocr # 创建OCR实例 ocr = paddleocr.OCR() # 读取图片文件 img_path = 'test.jpg' img = paddleocr.load_image(img_path) # 进行文字识别 result = ocr.ocr(img) # 输出识别结果 for line in result: print(line) ``` 在上述代码中,我们首先导入了PaddleOCR模块。然后,我们创建了一个OCR实例,通过调用`paddleocr.OCR()`方法来实现。接着,我们读取了一张名为`test.jpg`的图片,并使用`paddleocr.load_image()`方法加载该图片。最后,我们调用OCR实例的`ocr()`方法进行文字识别,并将结果输出到控制台。 ## 配置PaddleOCR PaddleOCR还提供了一些配置选项,可以帮助我们优化识别效果。以下是一些常用的配置选项: - lang:要识别的语言类型。可选项包括`ch`, `en`, `fr`, `jp`, `korean`等。 - det:检测模型的名称。可选项包括`ch_ppocr_server_v2.0_det_infer`、`ch_ppocr_mobile_v2.0_det_infer`等。 - rec:识别模型的名称。可选项包括`ch_ppocr_server_v2.0_rec_infer`、`ch_ppocr_mobile_v2.0_rec_infer`等。 - cls:分类模型的名称。可选项包括`ch_ppocr_mobile_v2.0_cls_infer`等。 以下是一个配置PaddleOCR的示例代码: ``` python import paddleocr # 配置选项 lang = 'ch' det_model = 'ch_ppocr_server_v2.0_det_infer' rec_model = 'ch_ppocr_server_v2.0_rec_infer' # 创建OCR实例 ocr = paddleocr.OCR(lang=lang, det_model_dir=det_model, rec_model_dir=rec_model) # 读取图片文件 img_path = 'test.jpg' img = paddleocr.load_image(img_path) # 进行文字识别 result = ocr.ocr(img) # 输出识别结果 for line in result: print(line) ``` 在上述代码中,我们通过设置`lang`、`det_model`和`rec_model`等选项,来配置PaddleOCR语言类型和模型。然后,我们创建了一个OCR实例,并将配置选项传递给构造函数。最后,我们读取图片、进行文字识别,并输出识别结果。 ## 总结 使用PaddleOCR进行文字识别非常简单,只需要导入包并调用相应的函数即可。此外,PaddleOCR还提供了一些配置选项,可以帮助我们优化识别效果。如果你需要进行文字识别,不妨尝试一下PaddleOCR吧!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值