PaddleOCRSharp常见问题与解决方案

PaddleOCRSharp 是一个.NET版本OCR可离线使用类库。项目核心组件PaddleOCR.dll目前已经支持C\C++、.NET、Python、Golang、Rust、java等众多开发语言的直接API接口调用。项目包含文本识别、文本检测、表格识别功能。本项目做了大量优化,提高了识别率和推理性能。包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持中英文、纯英文以及多种语言文本检测识别。

PaddleOCRSharp封装极其简化,实际调用仅几行代码,极大的方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。

本项目支持官方所有公开的通用OCR模型,如:PPOCRV2、PPOCRV3、PPOCRV4、PP-OCRv4_server、PP-OCRv4_server_doc(1.5万字符字典模型)。最新版默认使用中英文V4模型(ch_PP-OCRv4):

★windows系统支持:win7SP1、win10、win11、winserver2012R2、winserver2016、winserver2019、winserver2022等。免费版支持在x86的CPU上使用,CPU指令集需要包含AVX指令集。

★windows下版本有免费开源版、CPU加速版(付费版)、GPU加速版(付费版)

★linux系统支持(付费版):统信UOS、麒麟、ubuntu、CentOS8等绿色离线部署,支持docker部署。支持国产CPU如华为鲲鹏、飞腾、海光、兆芯等CPU。

本文主要介绍PaddleOCRSharp的常见问题与解决方案,共广大开发者们遇到问题参考。

 Q: VS发布后部分dll没有复制到发布目录?

VS最新版已经修复该问题。升级VS到最新版即可。

Q: 找不到依赖项:PaddleOCR.dll?

PaddleOCRSharp从4.4.0版本开始,底层运行时依赖包独立为一个Paddle.Runtime.win_x64 包,nuget安装需要安装Paddle.Runtime.win_x64包。

Paddle.Runtime.win_x64为通用运行时包,也可以在C++项目中安装使用Paddle.Runtime.win_x64 包。

PaddleClasSharp和PaddleSegSharp,从4.4.0版本开始,都依赖Paddle.Runtime.win_x64 包。

如果安装了仍有提示,建议卸载旧版并删除旧版的文件,重新安装新版nuget包。

Q: PaddleOCRSharp是否支持linux?

PaddleOCRSharp从4.5.0版本开始,支持跨平台linux。支持统信UOS、麒麟、ubuntu、CentOS8系统。支持x86架构和ARM64架构的的CPU。跨平台linux需要付费获取相关运行.so文件

Q: PaddleOCRSharp速度不够快、CPU利用率高?

PaddleOCRSharp基于Paddle飞桨推理框架,已经在优化了大量代码。如果仍然不满足要求,可以购买GPU版本的SDK,或者CPU加速版(换其他推理框架)的SDK,所有收费版本的API接口不变,PaddleOCRSharp文件通用。可以联系QQ277784829购买。

 Q: win7与Windows server部署相关问题?

.net6、net7、net core3.1部署,环境依赖参见微软的[在Windows上安装.NET](https://learn.microsoft.com/zh-cn/dotnet/core/install/windows?tabs=net60)

Q: 是否支持多线程调用?

支持多线程排队。OCR内部已经有多线程预测机制。

 Q: 项目是否支持x86?(32位操作系统)

本项目只支持X64位程序;实测32位库速度相当慢。如确实需要,请构建64位其他服务模式或者web模式,然后32位程序调用。

 Q: Web IIS部署问题

IIS部署情况下需要删除 web.config文件中 hostingModel="inprocess"这个配置。

使用IIS调试,需要设置“进程外”模式,IIS需要设置为64位

 Q: Web IIS部署遇到错误

Initialize err:--------------------------------------C++ Traceback (most recent call last):--------------------------------------Not support stack backtrace yet.----------------------Error Message Summary:----------------------PreconditionNotMetError: The third-party dynamic library (mklml.dll) that Paddle depends on is not configured correctly. (error code is 126)  Suggestions:  1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.  2. Configure third-party dynamic library environment variables as follows:  - Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`  - Windows: set PATH by `set PATH=XXX; (at ...\paddle\phi\backends\dynload\dynamic_loader.cc:312)

IIS部署情况下需要删除 web.config文件中 hostingModel="inprocess"这个配置。

使用IIS调试,需要设置“进程外”模式

 Q:找不到依赖项或无法加载依赖项:PaddleOCR.dll

请使用CPU工具检查当前CPU是否支持。

如果支持,则检查对应文件是否存在。

如果存在,则调试检查程序加载dll的目录是否与PaddleOCR.dll目录一致。

默认使用:

string root = AppDomain.CurrentDomain.BaseDirectory;#if NET461_OR_GREATER || NETCOREAPP || NET6_0_OR_GREATER            root = AppContext.BaseDirectory;#endif

 Q: Windows server2012R2 操作系统上使用问题

进QQ群下载补丁:PaddleOCRSharp免安装VC++2017依赖文件_win server2012

 Q:  Windows server2008R2 操作系统上使用问题

需要安装VC++2017运行时,可以安装vc++2015-2019运行时合集

Q: Windows7 操作系统上使用问题

需要安装VC++2017运行时,可以安装vc++2015-2019运行时合集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值