在不支持AVX的linux上使用PaddleOCR

背景

公司的虚拟机CPU居然不支持avx, 默认的paddlepaddle的cpu版本又需要有支持avx才行,还想用PaddleOCR有啥办法呢?

是否支持avx

lscpu | grep avx

支持avx的话,会显示相关信息

如果不支持的话,python运行时导入paddle会报错

怎么办呢

方案一

找公司it,看看虚拟机为什么不支持avx,能否通过设置支持avx

参考 VMware虚拟机cpu不支持avx指令集处理_处理器不支持xsave-CSDN博客

关闭虚拟机,按照参考资料设置后,重启服务器,还是没能支持avx,可能哪里设置有问题,自己的电脑使用vmware如上设置是可以的,如果此方案能成功, 那么就比较完美了.

方案二

因为方案一没能生效,聪明的朋友都会想到找个低版本支持无avx的paddlepaddle安装咯

是的,我们就是要这么做的.

参考 正确安装PaddleOCR的方法_pip install paddleocr-CSDN博客

参考资料的运行环境是window系统,我们是linux系统,在此记录一下我的安装步骤

1. 安装paddlepaddle

卸载已安装的paddlepaddle(2.6.1)

pip uninstall paddlepaddle

下载noavx版本的paddlepaddle(2.2.2)

python -m pip download paddlepaddle==2.2.2 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/noavx/stable.html --no-index --no-deps

安装paddlepaddle

pip install paddlepaddle-2.2.2-cp38-cp38-linux_x86_64.whl

验证是否可用

哦豁,报错了,不过也给了解决方案: 安装3.20.x版本的protobuf

安装protobuf

pip install protobuf==3.20.1

再验证一下是否可用

安装成功,不过import paddle导入时间有点长,明显比avx下的长

2. 安装paddleocr

安装

pip install paddleocr==2.8.1

验证报错

libGL.so.1: cannot open shared object file: No such file or directory

参考 libGL.so.1: cannot open shared object file: No such file or directory-CSDN博客

安装mesa-libGL

yum install mesa-libGL

验证可用

结语

最终安装的版本如下:

python 3.8

paddlepaddle 2.2.0 (noavx)

paddleocr 2.8.1

能用是能用了,可是速度慢了很多,唉

还有救

it发来贺电,可以设置虚拟机支持avx了,方案一的配置cpu模式用模式的"自动"模式就可以了

修改集群模式如下,就可以了

喜大普奔

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

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

相关文章

重学SpringBoot3-Spring WebFlux之HttpHandler和HttpServer

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-Spring WebFlux之HttpHandler和HttpServer 1. 什么是响应式编程?2. Project Reactor 概述3. HttpHandler概述3.1 HttpHandler是什么3.2 Http…

Rust编写硬件抽象层(HAL)服务

基于Rust编写硬件抽象层(HAL)服务是一个复杂但有趣的任务,它涉及到嵌入式系统开发的多个方面。以下是一个详细的指南,帮助你理解如何使用Rust编写HAL服务。 一、引言 硬件抽象层(HAL)是嵌入式系统开发中的…

SQL 中查找重复数据的四种方法

数据库中的重复数据可能导致存储成本增加、查询性能下降、分析结果不准确以及数据管理混乱。本文概述了四种 SQL 技术来检测和处理这些重复数据:使用GROUP BY和HAVING识别重复行的分组,采用诸如ROW_NUMBER()的窗口函数进行高效分析,利用EXIST…

常见的Java面试题

1.在项目中遇到难点是如何处理 数据库性能问题:在数据库处理数据操作(如查询、插入、更新、删除等)时表现出的响应速度慢、资源利用率高、吞吐量低等不良情况,影响了系统的整体性能和用户体验 解决方案有以下这些: 优化…

有什么牌子的学生台灯性价比高?五款性价比高的学生用台灯

最近不少朋友都在问我,有什么牌子的学生台灯性价比高?说实话,这还真不是个容易回答的问题。市面上的台灯品种琳琅满目,价格从几十到上千都有,功能也是五花八门。选择一款适合自己的护眼台灯,确实需要好好琢…

深度学习中的迁移学习:优化训练流程与提高模型性能的策略,预训练模型、微调 (Fine-tuning)、特征提取

1024程序员节 | 征文 深度学习中的迁移学习:优化训练流程与提高模型性能的策略 目录 🏗️ 预训练模型:减少训练时间并提高准确性🔄 微调 (Fine-tuning):适应新任务的有效方法🧩 特征提取:快速…

Flink 1.18安装 及配置 postgres12 同步到mysql5.7(Flink sql 方式)

文章目录 1、参考2、flink 常见部署模式组合3、Standalone 安装3.1 单节点安装3.2 问题13.3 修改ui 端口3.4 使用ip访问 4 flink sql postgres --->mysql4.1 配置postgres 124.2 新建用户并赋权4.3. 发布表4.4 Flink sql4.5 Could not find any factory for identifier post…

深度学习到底是怎么实现训练模型的(以医学图像分割为例

本文主要讲解的主要不是深度学习训练模型过程中的数学步骤,不是讲: 输入——前向传播——反向传播——输出,特征提取,特征融合等等过程。而是对于小白或者门外汉来说,知道模型怎么处理的,在用些什么东西&am…

分享二维码弹窗,实现扫码跳转

1.二维码组件 QRCode CustomDialog export struct ShareDialog {Prop item: QuestionDetail as QuestionDetailcontroller: CustomDialogControllerQRCode(this.item.id).width(160).height(160) } 2.扫码跳转 前置知识: Scan Kit 提供默认界面扫码能力。canIUs…

推荐几个好用的配色网站

1.ColorSpace 地址:ColorSpace - Color Palettes Generator and Color Gradient Tool Color Space 是款功能强大的渐变色在线生成器,支持单色、双色,甚至三色渐变。 进入首页,输入一个颜色,点击 GENERATE&#xff08…

从一个简单的计算问题,看国内几个大语言模型推理逻辑能力

引言 首先,来看问题: 123456*987654等于多少,给出你计算的过程。 从openai推出chatgpt以来,大模型发展的很快,笔者也经常使用免费的大语言模型辅助进行文档编写和编码工作。大模型推出时间也好久了,笔者想…

autMan框架的定时推送功能学习

一、定时推送功能简介 “定时推送”位于“系统管理”目录 主要有两个使用方向: 一是定时向某人或某群发送信息。 二是定时运行某指令,就是机器人给自己发指令,让自己运行此指令。 二、定时推送设置 定时:cron表达式,…

常用分布的数学期望、方差、特征函数

文章目录 相关教程相关文献常用分布的数学期望&方差&特征函数定义事件域概率条件概率随机变量分布函数连续随机变量的概率密度函数数学期望离散随机变量连续随机变量 方差与标准差最大似然估计特征函数 不等式Chebyshev(切比雪夫)不等式 作者&am…

Java 21新特性概述

Java 21于2023年9月19日发布,这是一个LTS(长期支持)版本,到此为止,目前有Java 8、Java 11、Java 17和Java 21这四个LTS版本。 Java 21此次推出了15个新特性,本节就介绍其中重要的几个特性: JEP…

C# 读取本地网络配置信息

C# 读取本地网络配置信息 应用场景示例示例1: 获取所有网络接口的信息示例2: 获取特定网络接口的IP配置信息示例3: 获取DNS服务器地址 在现代软件开发中,处理网络配置信息是一个常见需求。无论是开发桌面、移动还是服务器应用程序,了解如何在C#中读取和管…

Ubuntu20.04安装ROS2教程

Ubuntu20.04安装ROS2教程 ROS 2 安装指南支持的ROS 2 版本设置语言环境(Set locale)设置源(Setup Sources)设置密钥安装 ROS 2 包(Install ROS 2 packages)环境设置(Environment setup&#xff…

自闭症学校:儿童成长的崭新希望

在社会的一隅,存在着这样一群特殊的孩子,他们仿佛沉浸于独属于自己的世界,难以与外界进行正常的交流互动,他们便是自闭症儿童。对于这些孩子及其家庭而言,自闭症学校无疑成为了助力他们成长的全新希望。 自闭症学校为孩…

详细且系统的Spring Boot应用开发

为了帮助大家更好地理解如何使用Spring Boot来构建一个基础的Web应用程序,我将通过一个简单的例子来进行说明。这个例子将是一个基本的RESTful API服务,用于管理图书信息。 项目准备 1. 开发环境设置(这个我之前有发文,这里就不详…

java--反射(reflection)

一、反射机制 Java Reflection (1)反射机制允许程序在执行期借助 Reflection API 取得任何类的内部信息(比如成员变量、构造器、成员方法等等),并能操作对象的属性及方法。反射在设计模式和框架底层都会用到。&#x…

[Linux Codec驱动]音频路由概念

1. 音频路由的基本概念 源(Source):音频信号的发出方,通常是一个音频输入设备,如麦克风、音频播放设备等。接收端(Sink):音频信号的接收方,通常是音频输出设备&#xff…