银河麒麟之PaddleOCR模型部署

一、PaddleOCR简介

  PaddleOCR是一个基于飞桨框架开发的开源OCR工具,提供了一系列强大的文本识别功能。PaddleOCR支持多种文本识别任务,包括文字检测、文字识别、文本方向检测等。它具有高效、准确的特点,适用于多种场景下的文本识别需求,如身份证识别、车牌识别、表格识别等。PaddleOCR具有丰富的模型库,包括超轻量级的模型、高精度的模型等,用户可以根据具体需求选择合适的模型进行文本识别。此外,PaddleOCR还提供了易于使用的API接口和丰富的文档,方便用户快速部署和使用。博文实验环境如下:

  • 操作系统:银河麒麟V10 SP1
  • paddlepaddle:2.6
  • padleocr:2.7.1

二、安装要求

  PaddleOCR的最新版本是2.7.1,但是environment.md最近一次更新还是2年前了,所以这个环境要求已经过时,只是最低要求参考。PaddleOCR安装需要依赖PaddlePaddle,所以我们参照paddle安装时的版本python、cuda版本要求即可。我们安装PaddlePaddle最新稳定版本2.6
在这里插入图片描述

  • PaddlePaddle 2.6
  • python>=3.8
  • cuda>=11.2
  • swig=4.2.1

三、部署步骤

1、检查系统是否有GPU显卡

  使用命令"lspci | grep -i nvidia"查看主机是否有显卡,paddlenlp在cpu环境也可以运行,但是如果需要大模型功能需要GPU。
在这里插入图片描述

2、安装显卡驱动

  银河麒麟环境下安装显卡驱动参考博文银河麒麟之NVIDIA GeForce显卡驱动安装。使用nvidia-smi命令可以确认是否安装驱动,以及查看显卡参数和运行信息。
在这里插入图片描述

3、安装anaconda3

  anaconda3的安装可以参考博文Linux之anaconda3安装及使用,虽然系统略有区别,但是安装方式是一样的。anaconda3不是必须的,只是如果我们需要使用不同的python版本进行验证测试,anaconda3是一个非常不错的选择,通过虚环境管理,非常方便。

(base) wuhs@test:~/anaconda3$ conda --version
conda 24.1.2

4、创建一个paddleocr虚拟环境

  安装完成anaconda3后我们创建一个python版本为3.11.5的虚拟环境。

(base) wuhs@test:~$ conda create -n paddleocr python=3.11.5

5、切换到paddlenlp虚拟环境

  通过conda activate切换到新建的paddlenlp虚拟环境。

(base) wuhs@test:~$ conda activate paddlenlp
(paddleocr) wuhs@test:~$

6、安装paddle-gpu

  访问百度飞浆官网
在这里插入图片描述

(paddleocr) wuhs@test:~$ conda install paddlepaddle-gpu==2.6.0 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

7、验证paddle

(paddleocr) wuhs@test:~$ python
Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import paddle
>>> paddle.version
‘2.6.0’

8、下载paddleocr的requirements文件

  访问paddlenlp的GitHub地址,可以下载该文件或者复制文件内容自己创建requirements.txt文件。
在这里插入图片描述

(paddleocr) bdsc@kylinv10:~/anaconda3/requirementfiles$ cat paddleocr_github.txt
shapely
scikit-image
imgaug
pyclipper
lmdb
tqdm
numpy
visualdl
rapidfuzz
opencv-python<=4.6.0.66
opencv-contrib-python<=4.6.0.66
cython
lxml
premailer
openpyxl
attrdict
PyMuPDF<1.21.0
Pillow

9、安装swig

  未安装swig,在安装依赖软件包PyMuPDF的时候会报错。
在这里插入图片描述

(paddleocr) wuhs@test:~/data/requirements$ pip3 install swig
Collecting swig
Downloading swig-4.2.1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (3.6 kB)
Downloading swig-4.2.1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 110.2 kB/s eta 0:00:00
Installing collected packages: swig
Successfully installed swig-4.2.1

10、根据requirements文件安装软件依赖

  根据创建的requirements.txt文件,使用pip3命令安装相关依赖软件包。

(paddlenlp) wuhs@test:~/data/requirements$ pip3 install -r paddleocr_github.txt
在这里插入图片描述

11、安装paddleocr

  pip方式安装paddleocr。

(paddleocr) wuhs@test:~/anaconda3$ pip3 install paddleocr
在这里插入图片描述

12、查验版本

  安装完成后使用pip3 show paddleocr或者conda list paddleocr命令查看版本是否正常输出显示。进入python交互模式,导入paddleocr模块看是否报错,无报错说明安装成功。

(paddleocr) wuhs@test :/data/bdscdata/code/lexical_analysis$ conda list paddleocr

paddleocr 2.7.0.3 pypi_0 pypi
(paddleocr) wuhs@test :~/anaconda3$ python
Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import paddleocr
>>> paddleocr.version
‘2.7.0.3’

三、模型验证

  安装完成我们可以实验PaddleOCR在GitHub官网上的python代码进行功能验证。

1、上次一张图片到/tmp目录

  将需要识别的图片上传到指定目录。
在这里插入图片描述

2、python交互模式执行代码

  切换到paddleocr虚拟环境下,进入python交互模式执行如下代码。

from paddleocr import PaddleOCR, draw_ocr
ocr = PaddleOCR(use_angle_cls=True, lang="ch") 
result = ocr.ocr(img_path, cls=True)
for idx in range(len(result)):res = result[idx]for line in res:print(line)

3、查看结果

  执行完成后结果输出文字内容与图片一致说明,paddleocr大模型部署正常。
在这里插入图片描述

4、总结说明

  如果是基于GPU运行paddleocr还需要paddlepaddle支持,而paddle需要cuda、cudnn的支持,而且需要版本相匹配。如果没有GPU,也是支持CPU运行的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDP之Backstage - 环境搭建

0. 目录 1. 前言2. 环境准备&#xff08;Windows10下&#xff09;2.1 安装nvm2.2 git和docker安装 3. 创建模板项目3.1 典型错误: fails on the yarn install step3.2 再次启动3.3 验证 4. 相关 1. 前言 本不想写这篇&#xff0c;因为看着官网文档写着挺简单的&#xff0c;但实…

线上剧本杀小程序发展趋势如何?

随着几年的快速发展&#xff0c;剧本杀行业进入到了大众的视野&#xff0c;不过从2022年开始&#xff0c;行业就开始处于下滑趋势&#xff0c;但是行业反而变得更加的规范化。 经历过下滑发展后&#xff0c;剧本杀行业已经趋向专业化、精品化发展&#xff0c;行业正在复苏&…

高基报表是什么?高校各部门如何快速填报高基表?

高基报表——全称是《高等教育事业基层统计报表》&#xff08;以下简称《高基报表》&#xff09;&#xff0c;作为高等院校基本情况报表的代表&#xff0c;承载着学校办学实力的真实写照。填报高基报表是一项细致入微的工作&#xff0c;不仅关系到学校的科学管理和决策研究&…

第一节:什么是操作系统

什么是操作系统 一、一台计算机的组成部分1、计算机能干啥2、谈谈计算机硬件 二、什么是操作系统三、学习操作系统的层次 一、一台计算机的组成部分 如下图所示&#xff1a; 这就是就是构成一台计算机的组成部分 1、计算机能干啥 ∙ \bullet ∙计算机是我们专业吃饭的家伙&a…

前端知识学习笔记-六(vue)

简介 Vue是前端优秀框架是一套用于构建用户界面的渐进式框架 Vue优点 Vue是目前前端最火的框架之一 Vue是目前企业技术栈中要求的知识点 vue可以提升开发体验 Vue学习难度较低 Vue开发前准备 一、nodejs环境 Nodejs简介 Nodejs诞生于2009年&#xff0c;主攻服务器方向&#x…

数据结构OJ题——栈和队列

1. 用栈实现队列&#xff08;OJ链接&#xff09; 题目描述&#xff1a;请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09; void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回…

锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测 程序设计 完整程序和数据获取方式&#xff1a;私信博主回复Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测。 参考资料 [1] h…

Python数据分析案例42——基于Attention-BiGRU的时间序列数据预测

承接上一篇的学术缝合&#xff0c;排列组合模型&#xff0c;本次继续缝合模型演示。 Python数据分析案例41——基于CNN-BiLSTM的沪深300收盘价预测-CSDN博客 案例背景 虽然我自己基于各种循环神经网络做时间序列的预测已经做烂了.....但是还是会有很多刚读研究生或者是别的领…

最新版守约者二级域名分发系统

主要功能 二级域名管理&#xff1a; 我们的系统提供全面的二级域名管理服务&#xff0c;让您轻松管理和配置二级域名。 域名分发&#xff1a;利用我们先进的域名分发技术&#xff0c;您可以自动化地分配和管理域名&#xff0c;确保每个用户或客户都能及时获得所需的域名资源。…

SpringBoot基于RabbitMQ实现消息延迟队列方案

知识小科普 在此之前&#xff0c;简单说明下基于RabbitMQ实现延时队列的相关知识及说明下延时队列的使用场景。 延时队列使用场景 在很多的业务场景中&#xff0c;延时队列可以实现很多功能&#xff0c;此类业务中&#xff0c;一般上是非实时的&#xff0c;需要延迟处理的&a…

【深入探讨】JavaScript 中的 forEach 和 map 区别

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端Clodplay &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域优质作者、阿里云专家博主&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨优质专栏&#xff1a;VS Code插件开…

房贷还款(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <math.h>int main() {//初始化变量值&#xff1b;double m, r 0.01;float d 300000;float p 6000;//运算还款所需月份&#xff1b;m log10…

元象4.2B参数 MoE大模型实战

01 简介 近期&#xff0c;元象公司推出了其首个Moe大模型XVERSE-MoE-A4.2B。该模型采用了混合专家模型架构&#xff08;Mixture of Experts&#xff09;&#xff0c;并拥有4.2B的激活参数&#xff0c;其性能可与13B模型相媲美。值得一提的是&#xff0c;这个模型是完全开源的&…

Python 实战人工智能数学基础:图像处理应用

1.背景介绍 在许多计算机视觉任务中&#xff0c;图像处理占据了很重要的角色&#xff0c;尤其是在目标检测、特征提取、分类、跟踪等计算机视觉任务中。图像处理是一个复杂的过程&#xff0c;涉及到图像的采集、分析、存储、显示等环节。本文将讨论基于Python实现的图像处理的…

spring快速搭建聊天AI

官网url: https://spring.io/projects/spring-ai 本文演示的是open AI 1创建java项目 2.拿到AI的key&#xff08;没有的话可以去淘宝花几块钱买一个&#xff09; //YOUR_API_KEY写你自己的open AI的key spring.ai.openai.api-keyYOUR_API_KEY spring.ai.openai.chat.options.…

在家如何查找下载外文文献

查找下载外文文献的数据库大部分都需要使用权限的&#xff0c;那么我们如何在家进入这些数据库查找下载文献资源呢&#xff1f;请看本文的经验分享&#xff1a; 举例1、 一位同学的文献求助&#xff1a;Performance of financial hedging and earnings management under dive…

WordPress 图片压缩插件:Compress JPEG PNG images 使用方法

插件介绍 Compress JPEG & PNG images是一款非常好用的图片压缩插件:&#xff0c;非常值得大家安装使用&#xff1b;特别是图片类型网站。其实我们很多服务器磁盘空间是不在乎多那么几十 MB 大小的&#xff0c;但是压缩了图片能提升网站速度&#xff0c;节省宽带&#xff…

【论文阅读——SplitFed: When Federated Learning Meets Split Learning】

级别CCFA 1.摘要 联邦学习&#xff08;FL&#xff09;和分割学习&#xff08;SL&#xff09;是两种流行的分布式机器学习方法。两者都采用了模型对数据的场景&#xff1b;客户端在不共享原始数据的情况下训练和测试机器学习模型。由于机器学习模型的架构在客户端和服务器之间…

BackTrader 中文文档(七)

原文&#xff1a;www.backtrader.com/ TA-Lib 原文&#xff1a;www.backtrader.com/docu/talib/talib/ 即使backtrader提供了大量内置指标&#xff0c;而且开发指标主要是定义输入、输出并以自然方式编写公式&#xff0c;一些人还是想要使用TA-LIB。一些原因包括&#xff1a; 指…

基于SignalR视频聊天 一

环境 VS2022 WIN10 .NET8 VSCode VUE SignalR 1.安装SignalR客户端库 需要在Vue.js项目中安装SignalR客户端库。可以使用npm或者yarn来安装 npm install microsoft/signalr2.创建SignalR服务 创建SignalR服务&#xff0c;以便客户端&#xff08;Vue.js应用&#xff09;能…