Paddle 打包部署

PaddleOCR 打包部署exe 心酸历程

  • PaddleOCR部署exe模式
    • PaddleOCR安装到本地(稍后有时间再写)
    • PaddleOCR打包过程异常问题记录!!!!
      • No such file or directory: 'D:\\py_project\\paddleOCR\\dist\\paddleOCR\\_internal\\paddleocr\\tools/__init__.py'
      • ModuleNotFoundError: No module named 'pyclipper'
      • ModuleNotFoundError: No module named 'shapely'
      • ModuleNotFoundError:skimage
      • exe运行后提示:"mklml.dll" 不存在或者路径不正确
      • 剩下的包就是缺少那个就copy那个
      • tqdm写入问题 AttributeError: 'NoneType' object has no attribute
    • 最终效果

PaddleOCR部署exe模式

PaddleOCR安装到本地(稍后有时间再写)

PaddleOCR打包过程异常问题记录!!!!

No such file or directory: ‘D:\py_project\paddleOCR\dist\paddleOCR\_internal\paddleocr\tools/init.py’

这个比较好处理:打包命令添加
–collect-all paddleocr --collect-all paddlenlp

ModuleNotFoundError: No module named ‘pyclipper’

--collect-all pyclipper

ModuleNotFoundError: No module named ‘shapely’

--collect-all shapely

ModuleNotFoundError:skimage

在这里插入图片描述

--collect-all skimage

exe运行后提示:“mklml.dll” 不存在或者路径不正确

这里是引用
一般在项目工程里面:路径为:
你的项目 -> Lib -> site-packages -> paddle -> libs 下面可以找到 (注意:我这里是虚拟环境不是conda环境的需要具体看下载目录在哪里)

在这里插入图片描述

在这里插入图片描述

剩下的包就是缺少那个就copy那个

1.ModuleNotFoundError: No module named ‘imghdr’
解决办法:将python下面lib的imghdr.py文件拷贝到\ppocr\utils
(这里有个坑 paddle utils文件里面import imghdr 这里是没有引用的!!! 打开源码去掉)
在这里插入图片描述
2.ModuleNotFoundError: No module named ‘imgaug’
解决办法:将Lib\site-packages\imgaug下imgaug拷贝过去

3.ModuleNotFoundError: No module named ‘pywt’
解决办法:将Lib\site-packages\pywt拷贝过去

4.ModuleNotFoundError: No module named ‘lmdb’
解决办法:将Lib\site-packages\lmdb拷贝过去

5.ModuleNotFoundError: No module named ‘shaply’
解决办法:将Lib\site-packages\shaply拷贝过去

6.ModuleNotFoundError: No module named ‘pyclipper’
解决办法:将Lib\site-packages\pyclipper拷贝过去

tqdm写入问题 AttributeError: ‘NoneType’ object has no attribute

# network.py 
File "tqdm\std.py", line 452, in fp_write     
fp.write(str(s))     ^^^^^^^^   
File "tqdm\utils.py", line 140, in __getattr__     
return getattr(self._wrapped, name)           
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
 AttributeError: 'NoneType' object has no attribute

这个错误是由于在尝试使用 tqdm 库(一个用于显示进度条的库)时,传入了一个 NoneType 对象作为文件指针。在 tqdm 库中,它期望一个文件对象(如 sys.stdout)来写入进度信息,但在你的代码中,由于某些原因,这个文件对象是 None
修改下源码即可

import io
buffer = io.StringIO()
sys.stdout = buffer
sys.stderr = buffer

最终效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

少数要改动源码,大部分都是从虚拟环境的库里找到相应文件夹拷贝到和可执行文件同目录即可,一下就是通常需要拷贝过来的文件夹

7.

另外如果有连网的情况下会在管理员文件夹下的.paddleocr下载相应的推理文件,在打包paddleocr的时候发现 下载下来的推理文件文件夹.paddleocr是默认保存在用户下的管理员文件夹 打包的时候放在可执行文件同个目录没用 得更改paddleocr.py源码把BASE_DIR默认地址改为软件所在文件夹apppath,或者部署的时候把.paddleocr放到管理员所在文件夹

相关学习资料会同步上传需要的同学移步下。谢谢支持!!!!
在这里插入图片描述
可以互相学习或者需要帮忙处理的可添滴滴滴 _ !!!!
在这里插入图片描述

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

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

相关文章

如何指定多块GPU卡进行训练-数据并行

训练代码: train.py import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, Dataset import torch.nn.functional as F# 假设我们有一个简单的文本数据集 class TextDataset(Dataset):def __init__(self, te…

Linux系统密码重置

实验环境: Centos 7.9 背景: 找回root用户密码 1、首先,启动Linux系统进入开机界面,在界面中快速点击‘e’进入编辑界面,如图: 2、进入编辑界面会后往下翻找到“Linux16”内容所在的行数,在&q…

景联文科技打造千万级高质量中文数字专利数据库,赋能知识产权领域AI创新

专利大模型是在专利数据分析、检索、理解和生成等领域运用的大规模机器学习模型。 已被应用在多个场景中,包括但不限于专利检索优化、专利文本的自动化撰写、专利价值评估、技术趋势预测、专利侵权检测、以及专利组合管理和战略规划等。 专利大模型依赖于海量的数字…

python--实验 11 模块

目录 知识点 模块基础 模块使用方式 自定义模块示例 模块的有条件执行 Python包结构 定义和导入包 常用第三方库及安装 实例代码 第三方库自动安装脚本 Python标准库介绍 PyInstaller 小结 实验 1.(基础题)制作文本进度条。 2.(基础题) 蒙特卡罗方法计算圆周率…

数据结构(单链表(1))

前言 线性表中有着许多的结构,如顺序表和链表。而单链表则是链表的最基础的一种形式,下面就让我们对其做一个了解。 概念 概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次…

【python】OpenCV—European Article Number

参考学习来自:OpenCV基础(25)条码和二维码扫的生成与识别 1 条形码介绍 EAN-13是欧洲物品编码(European Article Number)的缩写,是一种广泛使用的条形码标准,特别是在超级市场和其它零售业中。…

1.33、激活可视化卷积神经网络(matalb)

1、激活可视化卷积神经网络原理及流程 激活可视化(Activation Visualization)指的是通过可视化神经网络中激活函数的输出,来理解神经网络是如何学习并提取特征的过程。在卷积神经网络(CNN)中,我们可以通过…

独立开发者系列(25)——大白话进程

很多小型的规模场景限制下,复杂概念弊端大于利端。不同模式的实现,是根据具体需求来判定,但是理解底层最基础的原理有助于理解很多工具背后的诞生。比如php的swoole workerman 要解决的问题。 首先理解,进程概念,进程…

【竞技宝】欧洲杯:南门的保守害了英格兰

2024欧洲杯已经结束,决赛中西班牙2比1击败英格兰,队史第四次拿到欧洲杯冠军,而英格兰连续两届比赛进入决赛却功亏一篑让人唏嘘不已。赛后关于英格兰主帅索斯盖特是否留任的问题再次被炒上热搜,不少球迷和媒体认为索帅拥有豪华阵容…

华为大咖说 | 企业应用AI大模型的“道、法、术” —— 法:落地篇 (下)

本文作者:郑岩(华为云AI变革首席专家)全文约3554字,阅读约需9分钟 上周,我们探讨了企业应用AI大模型的“道、法、术”——法:落地篇“AI变革五阶八步法”的前四步内容(华为大咖说 | 企业应用AI大…

使用 HttpServlet 接收网页的 post/get 请求

前期工作:部署好 idea 和 一个 web 项目 idea(2021),tomcat(9) ->创建一个空的项目 -> 新建一个空的模块 -> 右键单击模块 选择 Add..Fra.. Sup.. -> 勾选Web App...后点击OK -> 点击 file - Project Struc... -> 选择刚刚的模块 -> 点…

C++初阶:类和对象(中)

一.类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认生成以下6个默认成员函数。默认成员函数很重要,也比较复杂: 二.构造函数 (…

GPT-4从0到1搭建一个Agent简介

GPT-4从0到1搭建一个Agent简介 1. 引言 在人工智能领域,Agent是一种能够感知环境并采取行动以实现特定目标的系统。本文将简单介绍如何基于GPT-4搭建一个Agent。 2. Agent的基本原理 Agent的核心是感知-行动循环(Perception-Action Loop)…

电脑文件误删除如何恢复?Top12电脑数据恢复软件汇总合集!(图文详解)

电脑文件误删除如何恢复?在日常使用电脑过程中,我们经常会遇到意外删除文件的情况。可能是因为按错了按键、误操作了鼠标,或者意外格式化了存储设备。这些情况都可能导致重要的文件不小心被删除。但是不用担心,有许多专业的数据恢…

从 Pandas 到 Polars 十八:数据科学 2025,对未来几年内数据科学领域发展的预测或展望

我在2021年底开始使用Polars和DuckDB。我立刻意识到这些库很快就会成为数据科学生态系统的核心。自那时起,这些库的受欢迎程度呈指数级增长。 在这篇文章中,我做出了一些关于未来几年数据科学领域的发展方向和原因的预测。 这篇文章旨在检验我的预测能力…

Js 前置,后置补零的原生方法与补字符串 padStart及padEnd

在工作中,遇到了需要将不满八位的一个字符串进行后补0的操作,所以就在网上学习了关于js原生补充字符串的方法,然后用这篇博客记录下来。 目录 前置补充字符串 String.prototype.padStart() 后置补充字符串String.prototype.padEnd() 前置补…

synchronized关键字详解

文章目录 synchronized使用示例实现原理锁的升级synchronized与可见性synchronized与原子性synchronized与有序性 synchronized synchronized是Java提供的关键字译为同步,是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码&a…

STM32第十九课:FreeRTOS移植和使用

目录 需求一、FreeRtos概要二、移植FreeRtos1.复制源码2.内存空间分配和内核相关接口3.FreeRTOSConfig.h4.在工程中添加.c.h 三、任务块操作1.创建任务2.任务挂起,恢复,删除 四、需求实现代码 需求 1.将FreeRtos(嵌入式实时操作系统&#xf…

STM32 BootLoader 刷新项目 (四) 通信协议

STM32 BootLoader 刷新项目 (四) 通信协议 文章目录 STM32 BootLoader 刷新项目 (四) 通信协议1. 通信流程2. 支持指令3. 通信流程4. 指令结构5. 操作演示 前面几章节,我们已经介绍了BootLoader的整体程序框架,方案设计,以及STM32CubdeMX的配…

Kafka基本原理|特性

Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统 它的最大的特性就是可以实时的处理大量数据以满足各种需求场景…