记录PaddleOcr的使用2 -- GPU

项目场景:

之前使用了cpu,但是效率感人,所以想尝试一下GPU的版本


安装环境

windows下使用的,别问,问就是没有有GPU的服务器
1、python 3.7 (如果是linux建议3.8)
2、pip 版本 20.2.2或更高版本 (64 bit)
3、需要确定一下GPU的运算能力,必须大于3.5
4、检查电脑支持的CUDA版本
桌面–右键–NVIDIA 控制面板–左下角 系统信息–组件
在这里插入图片描述
我的是11.4 所以安装了11.2版本的CUDA
5、cudnn版本,官网说 8.2.1 那就选这个
在这里插入图片描述


下载CUDA和cuDNN:

这里直接附上两个链接吧,我就是参考这两位同学的文档安装的
https://zhuanlan.zhihu.com/p/94220564

https://zhuanlan.zhihu.com/p/102966512

就是下载cuDNN需要注册一下,不麻烦,然后就是网站访问问题,懂的都懂。。CUDA很大,我是在服务器上用wget下载然后down到本地电脑的

注意配置完环境变量要重启一下,我没重启就一直报错,重启一下就好了


运行:

1、直接参考官方文档的快速开始,安装完相关的依赖包后,使用文档里面的python脚本执行
这里安装完依赖和CUDA cuDNN后 还是使用命令执行一下,验证是否安装成功
使用python进入python解释器,输入import paddle.fluid,再输入paddle.fluid.install_check.run_check()。

如果出现Your Paddle Fluid is installed successfully!,说明您已成功安装
在这里插入图片描述

2、注意设置参数

ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=True)

3、如果要部署服务化,建议启动服务的时候全局实例化一个模型类PaddleOCR就行了,后面不用重新实例化,效率更快一点
4、读取成功,但是win下和linux下好像解析的文字结果格式不太一样,具体也不太清楚为什么,用了GPU果然快多了,10倍的提升
在这里插入图片描述

遇到的问题

当然不可能一帆风顺啦,肯定有问题的啦,不过都是百度解决了
1、Could not load library cudnn_ops_infer64_8.dll. Error code 126
参考链接
2、RuntimeError: (PreconditionNotMet) The third-party dynamic library (cublas64_102.dll;cublas64_10.dll
参考链接
安装CUDA 10版本的同学可能会遇到上面的问题,所以也记录一下吧

但是我的实际报错其实是 RuntimeError: (PreconditionNotMet) The third-party dynamic library (cublas64_112.dll;cublas64_11.dll
我安装的CUDA 11 其实就是配置了环境变量后没重启,重启一下解决

### 如何使用PaddleOCR进行光学字符识别 为了利用PaddleOCR执行光学字符识别(OCR),需先安装依赖库并准备环境配置文件。具体操作如下所示: #### 安装PaddleOCR及相关依赖项 首先,确保已安装Python 3.x版本以及pip工具。接着,在命令行界面输入以下指令以安装PaddleOCR及其所需组件。 ```bash pip install paddleocr --upgrade ``` 此过程会自动下载并设置好所有必要的包[^1]。 #### 导入模块与初始化模型实例 在编写Python脚本时,导入`paddleocr.PaddleOCR`类用于创建OCR引擎对象,并指定参数如语言种类、是否启用GPU加速等选项。 ```python from paddleocr import PaddleOCR, draw_ocr # 创建默认配置下的OCR读取器 ocr = PaddleOCR(use_angle_cls=True, lang='en') ``` 上述代码片段展示了如何构建一个支持角度分类功能且针对英文文本优化过的OCR处理器。 #### 执行文字检测与识别任务 调用`ocr.ocr()`函数传入待处理图片路径作为参数,该函数返回包含位置坐标和对应字符串的结果列表;每一组数据代表图像上发现的一个独立文本区域。 ```python img_path = 'example_image.png' result = ocr.ocr(img_path) for line in result: print(line) ``` 这段示例说明了怎样加载一张名为`example_image.png`的测试图样并通过循环遍历输出每条记录的内容。 #### 可视化展示标注效果 对于希望直观查看标记框覆盖情况的情况,可以借助辅助绘图函数`draw_ocr()`快速生成带有高亮显示的文字区块的新版副本。 ```python import cv2 from PIL import Image image = Image.open(img_path).convert('RGB') boxes = [line[0] for line in result] txts = [line[1][0] for line in result] im_show = draw_ocr(image, boxes, txts) cv2.imshow('Text Detection Result', im_show) cv2.waitKey(0) ``` 这里定义了一套流程来打开原始照片资源转换成适当格式后应用边界矩形描绘最终呈现于屏幕之上供用户检验成效。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值