Ubuntu 14.04:安装 PaddleOCR 2.3

目录

 一、说明

1.1 如何选择版本

1.2 查看 github 中的 PaddleOCR 版本

二、安装

2.1 安装前环境准备

2.2 下载包

2.3 解压

2.4 安装依赖库

异常处理:Read timed out.

 2.5 下载推理模型:inference

 2.5.1 模型存放位置

2.5.2 模型下载链接

2.5.3 下载OCR 文本检测模型

2.5.4 下载OCR 文本识别模型

2.5.5 结果

2.6 检测是否安装成功

2.6.1 检测

2.6.2 异常处理

no attribute 'is_compiled_with_rocm

2.6.3 命令参数说明


 一、说明

1.1 如何选择版本

目标:安装 PaddleOCR 2.3 。

参考资料:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/doc_ch/installation.md

因为 PaddleOCR 2.4 的 推荐环境 PaddlePaddle >= 2.1.2。而我的 PaddlePaddle 是 2.0.0 。

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/doc/doc_ch/environment.md

1.2 查看 github 中的 PaddleOCR 版本

GitHub - PaddlePaddle/PaddleOCR

二、安装

2.1 安装前环境准备

 (1)安装python 3.8 

具体安装方法请参见 【ubuntu】安装 Anaconda3-CSDN博客 


(2)安装paddlepaddle 2.0.0

具体安装方法请参见 Ubuntu 14.04:安装PaddlePaddle(Conda安装)-CSDN博客 

2.2 下载包

https://codeload.github.com/PaddlePaddle/PaddleOCR/zip/refs/heads/release/2.3

注:

官方文档中,是 clone。

因为我 clone 时有异常,偷懒不想处理,就直接下载包,然后安装。

2.3 解压

上传到目标位置(/home/xxx/workspace),解压

unzip PaddleOCR-release-2.3.zip

2.4 安装依赖库

# 先进入PaddlePaddle所在的Anaconda虚拟环境:conda activate {paddle_env}。

# 然后在 /home/xxx/workspace/PaddleOCR-release-2.3 执行下面的命令

pip install -r requirements.txt

异常处理:Read timed out.

异常

socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

异常原因

下载包时耗时过长,导致超时。

解决方案

重复执行下面的命令,直到操作成功。

pip install -r requirements.txt

 2.5 下载推理模型:inference

 2.5.1 模型存放位置

# 切换到 PaddleOCR 主目录
# cd /home/xxx/PaddleOCR-release-2.3/

# 创建目录:inference

mkdir inference

模型存放位置

/home/xxx/PaddleOCR-release-2.3/inference

2.5.2 模型下载链接

模型下载链接1:

GitHub - PaddlePaddle/PaddleOCR at release/2.3

 模型下载链接2:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/doc_en/models_list_en.md

2.5.3 下载OCR 文本检测模型

可以下载包,上传至目标位置,也可以wget。

我这里是wget,省去上传的步骤。

# 切换到目录

# /home/xxx/workspace/PaddleOCR-release-2.3/inference ,

# 执行:下载并解压

wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar -O ch_PP-OCRv2_det_infer.tar && tar -xf ch_PP-OCRv2_det_infer.tar

2.5.4 下载OCR 文本识别模型

可以下载包,上传至目标位置,也可以wget。

我这里是wget,省去上传的步骤。

# 切换到目录

# /home/xxx/workspace/PaddleOCR-release-2.3/inference ,

# 执行:下载并解压

wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar -O ch_PP-OCRv2_rec_infer.tar &&  tar -xf ch_PP-OCRv2_rec_infer.tar

2.5.5 结果

2.6 检测是否安装成功

2.6.1 检测

# 先进入PaddlePaddle所在的Anaconda虚拟环境:conda activate {paddle_env}。

# 切换到目录 /home/xxx/workspace/PaddleOCR-release-2.3/

# 再执行下面的命令

# 我没有gpu,用cpu版。

#

python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=false --use_mp=True --total_process_num=6 --use_gpu=false

图片

图片识别打印

如果出现上面的结果,说明安装成功了。

:包里面有准备测试资料。

2.6.2 异常处理

no attribute 'is_compiled_with_rocm

异常

AttributeError: module 'paddle.fluid.core_avx' has no attribute 'is_compiled_with_rocm'

异常原因

居然原因不明,只是参考下面资料进行了处理,后面就正常了。

paddleocr报错AttributeError: module ‘paddle.fluid.core_noavx‘ has no attribute ‘is_compiled_with_rocm‘-CSDN博客

解决方案

在 /home/xxx/workspace/PaddleOCR-release-2.3/tools/infer/utility.py 中,

注释掉蓝色字体的内容,添加紫色框里的内容。

注意格式,格式不对,执行时会出错。

异常

异常原因

解决方案

2.6.3 命令参数说明

参数所在的文件:

/home/xxx/workspace/PaddleOCR-release-2.3/tools/infer/utility.py

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云原生部署手册02:将本地应用部署至k8s集群

(一)部署集群镜像仓库 1. 集群配置 首先看一下集群配置: (base) ➜ ~ multipass ls Name State IPv4 Image master Running 192.168.64.5 Ubuntu 22.04 LTS1…

MySQL--深入理解MVCC机制原理

什么是MVCC? MVCC全称 Multi-Version Concurrency Control,即多版本并发控制,维持一个数据的多个版本,主要是为了提升数据库的并发访问性能,用更高性能的方式去处理数据库读写冲突问题,实现无锁并发。 什…

k8s之图形界面DashBoard【九】

文章目录 9. DashBoard9.1 部署Dashboard9.2 使用DashBoard 镇场 9. DashBoard 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard&…

VMware ESXi 8.0U1d macOS Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

VMware ESXi 8.0U1d macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U1 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:https://sysin.org/blog/vmware-esxi-8-u1-sysin/,查看最新版。原…

Spark-Scala语言实战(2)(在IDEA中安装Scala,超详细配图)

之前的文章中,我们学习了如何在windows下下载及使用Scala,但那对一个真正想深入学习Scala的人来说,是不够的,今天我会给大家带来如何在IDEA中安装Scala。同时,希望我的文章能帮助到你,如果觉得我的文章写的…

STM32(TIM定时器中断)

理论知识 定时器定时中断 接线图 定时器工作配置步骤 定时中断和内外时钟源选择 定时器中需要使用的函数 程序实现效果: void TIM_DeInit(TIM_TypeDef* TIMx); **// 恢复定时器的缺省配置**void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef*TIM…

SwiftUI动画之几何匹配

SwiftUI动画之几何匹配 记录一下 日常开发中经常使用到的滑块功能 如何同工几何匹配快速制作点击动画 import SwiftUIstruct MatchedGeometryEffestExamle: View {let categories ["Home", "Popular", "Saved"]State var selecedTitle "…

Artemis Finance引领Metis流动性质押,并启动积分空投活动

在以太坊可扩展性解决方案中, Optimism、Arbitrum等Layer2链主要面临两个问题:欺诈/有效性证明以及去中心化排序器Sequencers。在实际的发展过程中,Optimism或Arbitrum等Layer2链仍然侧重于在欺诈证明和有效性证明方面进行努力,在…

MATLAB 矩阵

【MATLAB】(四)MATLAB在线性代数中的应用_线性代数在matlab中的应用-CSDN博客 矩阵的秩 rank rank(a) 矩阵的逆矩阵 inv inv(a) 矩阵的特征值eig和特征向量D [V,D]eig(a) 特征值 deig(a) 特征向量D [V…

【 c 语言 】指针入门

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步&…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Swiper)

滑块视图容器,提供子组件滑动轮播显示的能力。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 说明: 子组件类型:系统组件和自定义组…

Python基础入门 --- 4.循环语句

文章目录 Python基础入门第四章:4.1 while循环语句4.1.1 while循环的嵌套4.2 for循环语句4.2.1 range语句4.2.2 变量作用域4.2.3 for循环的嵌套应用 4.3 循环中断 continue和break Python基础入门 第四章: 4.1 while循环语句 语法结构: w…

springboot多模块下swaggar界面出现异常(Knife4j文档请求异常)或者界面不报错但是没有显示任何信息

继上一篇博文,我们解决了多模块下扫描不到子模块的原因,建议先看上一个博客了解项目结构: springboot 多模块启动报错Field XXX required a bean of type XXX that could not be found. 接下来我们来解决swaggar异常的原因,我们成功启动项目…

【IC设计】Verilog线性序列机点灯案例(三)(小梅哥课程)

声明:案例和代码来自小梅哥课程,本人仅对知识点做做笔记,如有学习需要请支持官方正版。 文章目录 该系列目录设计目标设计思路RTL及Testbench代码RTL代码Testbench代码 仿真结果上板视频 该系列目录 Verilog线性序列机点灯案例(一)&#xff…

【Hadoop大数据技术】——MapReduce分布式计算框架(学习笔记)

📖 前言:MapReduce是Hadoop系统核心组件之一,它是一种可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算问题,是目前分布式计算模型中应用较为广泛的一种。 目录 🕒 1. MapReduce概述&am…

cool 中的Midway ----node.js的TypeORM的使用

1.介绍 TypeORM | Midway TypeORM 是 node.js 现有社区最成熟的对象关系映射器(ORM )。本文介绍如何在 Midway 中使用 TypeORM 相关信息: 描述可用于标准项目✅可用于 Serverless✅可用于一体化✅包含独立主框架❌包含独立日志❌ 和老写…

实现HBase表和RDB表的转化(附Java源码资源)

实现HBase表和RDB表的转化 一、引入 转化为HBase表的三大来源:RDB Table、Client API、Files 如何构造通用性的代码模板实现向HBase表的转换,是一个值得考虑的问题。这篇文章着重讲解RDB表向HBase表的转换。 首先,我们需要分别构造rdb和hba…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言(Assert)有哪些类型? JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括: 1、assertEquals: 用于检查两个值是否相等。如果不相等,测试失败。 2、assertTrue和assertFal…

Midjourney订阅攻略

订阅Midjourney的攻略主要包括以下几个步骤: 访问Midjourney官网:首先,你需要访问Midjourney的官方网站。你可以通过搜索引擎找到它,或者通过社交媒体、论坛等渠道获取官方网站链接。了解订阅选项:在官网上&#xff0…

HarmonyOS NEXT应用开发—视频全屏切换案例

介绍 本示例介绍了Video组件和ohos.window接口实现媒体全屏的功能。 该场景多用于首页瀑布流媒体播放等。 效果图预览 使用说明: 点击全屏按钮,横屏媒体窗口。点击恢复窗口按钮,恢复媒体窗口。 实现步骤 在Video组件内调用 onFullscreen…