[paddleocr]PPOCR 服务化部署

PaddleOCR本地部署 摘要: 本文介绍了使用PaddleOCR构建本地OCR服务的完整流程。首先创建项目目录并安装PaddleOCR及相关依赖,下载中英文检测和识别模型(PP-OCRv4)。然后通过Flask框架搭建REST API服务,配置本地模型路径并实现图像OCR处理接口。测试显示服务能准确识别图片中的文本内容,返回文字、置信度和位置信息。此外还介绍了基于Python预测引擎的OCR模块划分(检测/识别/方向检测)及单独文本检测模块的使用方法,包括模型下载和测试命令。整个方案支持GPU加速,提供了从环境搭建到API部署的完 阅读详情
AI摘要

本文介绍PaddleOCR的两种服务部署方式:PaddleHubServing和PaddleServing。重点讲解PaddleServing的部署流程,包括环境准备、模型转换、服务启动及性能测试等内容。

PaddleOCR提供2种服务部署方式:

  • 基于PaddleHub Serving的部署:代码路径为"./deploy/hubserving",使用方法参考文档;
  • 基于PaddleServing的部署:代码路径为"./deploy/pdserving",按照本教程使用。

基于PaddleServing的服务部署

本文档将介绍如何使用PaddleServing 工具部署PP-OCR动态图模型的pipeline在线服务。

相比较于hubserving部署,PaddleServing具备以下优点:

  • 支持客户端和服务端之间高并发和高效通信
  • 支持 工业级的服务能力 例如模型管理,在线加载,在线A/B测试等
  • 支持 多种编程语言 开发客户端,例如C++, Python和Java

PaddleServing 支持多种语言部署,本例中提供了python pipeline 和 C++ 两种部署方式,两者的对比如下:

语言速度二次开发是否需要编译
C++很快略有难度单模型预测无需编译,多模型串联需要编译
python一般容易单模型/多模型 均无需编译

更多有关PaddleServing服务化部署框架介绍和使用教程参考文档。

AIStudio演示案例可参考 基于PaddleServing的OCR服务化部署实战。

目录

环境准备

需要准备PaddleOCR的运行环境和Paddle Serving的运行环境。

  • 准备PaddleOCR的运行环境链接

    git clone https://github.com/PaddlePaddle/PaddleOCR
    
    # 进入到工作目录
    cd PaddleOCR/deploy/pdserving/
    
  • 准备PaddleServing的运行环境,步骤如下

# 安装serving,用于启动服务
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_server_gpu-0.8.3.post102-py3-none-any.whl
pip3 install paddle_serving_server_gpu-0.8.3.post102-py3-none-any.whl
# 如果是cuda10.1环境,可以使用下面的命令安装paddle-serving-server
# wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_server_gpu-0.8.3.post101-py3-none-any.whl
# pip3 install paddle_serving_server_gpu-0.8.3.post101-py3-none-any.whl

# 安装client,用于向服务发送请求
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_client-0.8.3-cp37-none-any.whl
pip3 install paddle_serving_client-0.8.3-cp37-none-any.whl

# 安装serving-app
wget https://paddle-serving.bj.bcebos.com/test-dev/whl/paddle_serving_app-0.8.3-py3-none-any.whl
pip3 install paddle_serving_app-0.8.3-py3-none-any.whl

Note: 如果要安装最新版本的PaddleServing参考链接。

模型转换

使用PaddleServing做服务化部署时,需要将保存的inference模型转换为serving易于部署的模型。

首先,下载PP-OCR的inference模型

# 下载并解压 OCR 文本检测模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar -O ch_PP-OCRv3_det_infer.tar && tar -xf ch_PP-OCRv3_det_infer.tar
# 下载并解压 OCR 文本识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar -O ch_PP-OCRv3_rec_infer.tar &&  tar -xf ch_PP-OCRv3_rec_infer.tar

接下来,用安装的paddle_serving_client把下载的inference模型转换成易于server部署的模型格式。

# 转换检测模型
python3 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_det_infer/ \
                                         --model_filename inference.pdmodel          \
                                         --params_filename inference.pdiparams       \
                                         --serving_server ./ppocr_det_v3_serving/ \
                                         --serving_client ./ppocr_det_v3_client/

# 转换识别模型
python3 -m paddle_serving_client.convert --dirname ./ch_PP-OCRv3_rec_infer/ \
                                         --model_filename inference.pdmodel          \
                                         --params_filename inference.pdiparams       \
                                         --serving_server ./ppocr_rec_v3_serving/  \
                                         --serving_client ./ppocr_rec_v3_client/

检测模型转换完成后,会在当前文件夹多出ppocr_det_v3_serving 和ppocr_det_v3_client的文件夹,具备如下格式:

|- ppocr_det_v3_serving/
  |- __model__
  |- __params__
  |- serving_server_conf.prototxt
  |- serving_server_conf.stream.prototxt

|- ppocr_det_v3_client
  |- serving_client_conf.prototxt
  |- serving_client_conf.stream.prototxt

识别模型同理。

Paddle Serving pipeline部署

  1. 确认工作目录下文件结构:

    pdserver目录包含启动pipeline服务和发送预测请求的代码,包括:

    __init__.py
    config.yml            # 启动服务的配置文件
    ocr_reader.py         # OCR模型预处理和后处理的代码实现
    pipeline_http_client.py   # 发送pipeline预测请求的脚本
    web_service.py        # 启动pipeline服务端的脚本
    
  2. 启动服务可运行如下命令:

    # 启动服务,运行日志保存在log.txt
    python3 web_service.py --config=config.yml &>log.txt &
    

    成功启动服务后,log.txt中会打印类似如下日志 

  1. 发送服务请求:

    python3 pipeline_http_client.py
    

    成功运行后,模型预测的结果会打印在cmd窗口中,结果示例为:

  1. 调整 config.yml 中的并发个数获得最大的QPS, 一般检测和识别的并发数为2:1

    det:
        #并发数,is_thread_op=True时,为线程并发;否则为进程并发
        concurrency: 8
        ...
    rec:
        #并发数,is_thread_op=True时,为线程并发;否则为进程并发
        concurrency: 4
        ...
    

    有需要的话可以同时发送多个服务请求

    预测性能数据会被自动写入 PipelineServingLogs/pipeline.tracer 文件中。

    在200张真实图片上测试,把检测长边限制为960。T4 GPU 上 QPS 均值可达到23左右:

    2021-05-13 03:42:36,895 ==================== TRACER ======================
    2021-05-13 03:42:36,975 Op(rec):
    2021-05-13 03:42:36,976         in[14.472382882882883 ms]
    2021-05-13 03:42:36,976         prep[9.556855855855856 ms]
    2021-05-13 03:42:36,976         midp[59.921905405405404 ms]
    2021-05-13 03:42:36,976         postp[15.345945945945946 ms]
    2021-05-13 03:42:36,976         out[1.9921216216216215 ms]
    2021-05-13 03:42:36,976         idle[0.16254943864471572]
    2021-05-13 03:42:36,976 Op(det):
    2021-05-13 03:42:36,976         in[315.4468035714286 ms]
    2021-05-13 03:42:36,976         prep[69.5980625 ms]
    2021-05-13 03:42:36,976         midp[18.989535714285715 ms]
    2021-05-13 03:42:36,976         postp[18.857803571428573 ms]
    2021-05-13 03:42:36,977         out[3.1337544642857145 ms]
    2021-05-13 03:42:36,977         idle[0.7477961159203756]
    2021-05-13 03:42:36,977 DAGExecutor:
    2021-05-13 03:42:36,977         Query count[224]
    2021-05-13 03:42:36,977         QPS[22.4 q/s]
    2021-05-13 03:42:36,977         Succ[0.9910714285714286]
    2021-05-13 03:42:36,977         Error req[169, 170]
    2021-05-13 03:42:36,977         Latency:
    2021-05-13 03:42:36,977                 ave[535.1678348214285 ms]
    2021-05-13 03:42:36,977                 .50[172.651 ms]
    2021-05-13 03:42:36,977                 .60[187.904 ms]
    2021-05-13 03:42:36,977                 .70[245.675 ms]
    2021-05-13 03:42:36,977                 .80[526.684 ms]
    2021-05-13 03:42:36,977                 .90[854.596 ms]
    2021-05-13 03:42:36,977                 .95[1722.728 ms]
    2021-05-13 03:42:36,977                 .99[3990.292 ms]
    2021-05-13 03:42:36,978 Channel (server worker num[10]):
    2021-05-13 03:42:36,978         chl0(In: ['@DAGExecutor'], Out: ['det']) size[0/0]
    2021-05-13 03:42:36,979         chl1(In: ['det'], Out: ['rec']) size[6/0]
    2021-05-13 03:42:36,979         chl2(In: ['rec'], Out: ['@DAGExecutor']) size[0/0]
    

Paddle Serving C++ 部署

基于python的服务部署,显然具有二次开发便捷的优势,然而真正落地应用,往往需要追求更优的性能。PaddleServing 也提供了性能更优的C++部署版本。

C++ 服务部署在环境搭建和数据准备阶段与 python 相同,区别在于启动服务和客户端发送请求时不同。

  1. 准备 Serving 环境

为了提高预测性能,C++ 服务同样提供了多模型串联服务。与python pipeline服务不同,多模型串联的过程中需要将模型前后处理代码写在服务端,因此需要在本地重新编译生成serving。

首先需要下载Serving代码库, 把OCR文本检测预处理相关代码替换到Serving库中

git clone https://github.com/PaddlePaddle/Serving

cp -rf general_detection_op.cpp Serving/core/general-server/op

具体可参考官方文档:如何编译Serving,注意需要开启 WITH_OPENCV 选项。

完成编译后,注意要安装编译出的三个whl包,并设置SERVING_BIN环境变量。

  1. 启动服务可运行如下命令:

一个服务启动两个模型串联,只需要在--model后依次按顺序传入模型文件夹的相对路径,且需要在--op后依次传入自定义C++OP类名称:

```
# 启动服务,运行日志保存在log.txt
python3 -m paddle_serving_server.serve --model ppocr_det_v3_serving ppocr_rec_v3_serving --op GeneralDetectionOp GeneralInferOp --port 8181 &>log.txt &
```

成功启动服务后,log.txt中会打印类似如下日志
![](./imgs/start_server.png)
  1. 发送服务请求:

    由于需要在C++Server部分进行前后处理,为了加速传入C++Server的仅仅是图片的base64编码的字符串,故需要手动修改 ppocr_det_v3_client/serving_client_conf.prototxt 中 feed_type 字段 和 shape 字段,修改成如下内容:

     feed_var {
     name: "x"
     alias_name: "x"
     is_lod_tensor: false
     feed_type: 20
     shape: 1
     }
    

    启动客户端

     python3 ocr_cpp_client.py ppocr_det_v3_client ppocr_rec_v3_client
    

    成功运行后,模型预测的结果会打印在cmd窗口中,结果示例为:

  1. 在浏览器中输入服务器 ip:端口号,可以看到当前服务的实时QPS。(端口号范围需要是8000-9000)

    在200张真实图片上测试,把检测长边限制为960。T4 GPU 上 QPS 峰值可达到51左右,约为pipeline的 2.12 倍。

Windows用户

Windows用户不能使用上述的启动方式,需要使用Web Service,详情参见Windows平台使用Paddle Serving指导

WINDOWS只能使用0.5.0版本的CPU模式

准备阶段:

pip3 install paddle-serving-server==0.5.0
pip3 install paddle-serving-app==0.3.1
  1. 启动服务端程序
cd win
python3 ocr_web_server.py gpu(使用gpu方式)
或者
python3 ocr_web_server.py cpu(使用cpu方式)
  1. 发送服务请求
python3 ocr_web_client.py

FAQ

Q1: 发送请求后没有结果返回或者提示输出解码报错

A1: 启动服务和发送请求时不要设置代理,可以在启动服务前和发送请求前关闭代理,关闭代理的命令是:

unset https_proxy
unset http_proxy
PaddleOCR 服务化部署(基于PaddleHub Serving) 最近用到百度飞桨的 PaddleOCR,研究了一下PaddleOCR的服务化部署,简单记录一些部署过程和碰到的问题。 阅读详情

相关推荐

Ubuntu 20.04下PPOCR GPU环境一键部署指南(含常见报错解决方案)

本文详细介绍了在Ubuntu 20.04系统下快速部署PPOCR GPU环境的一键式解决方案,包括Docker配置、PPOCR安装及常见报错处理。通过实战指南,帮助开发者高效搭建OCR识别系统,提升文档数字化处理能力。

ll5678的博客 73

PaddleOCR服务化部署

PaddleOCR 提供 2 种服务部署方式:一种是 PaddleServing 的部署方式, 仅使用 CPU 推理预测在 Windows 和 Linux都能进行部署.若要使用 GPU 进行推理预测, 在 Windows 上只能使用 Docker 进行部署 (这步没有进行尝试).在 Linux 上可以手动部署, 也可以使用 Docker 部署 (这步没有进行尝试).另一种是 PaddleHub 的部署方式, 由于在 Windows 上设置 CUDA_VISIBLE_DEVICES=0 出现错误, 所以 Pa

qq_44309220的博客 8282

从模型到服务:基于PaddleServing的PP-OCR高性能部署实战

本文详细介绍了如何将PP-OCR模型通过PaddleServing框架进行高性能服务化部署。从环境准备、模型转换到实战部署,重点对比了Python Pipeline与C++两种部署方式的优劣与适用场景,并提供了性能调优与常见问题解决方案,旨在帮助开发者构建稳定、高并发的工业级OCR服务。

weixin_29296241的博客 209

PaddleOCR封装,在线服务化部署实战(python部署,超新手教程)

OCR,即光学字符识别(Optical Character Recognition),是一种将图像中的文字转换为机器编码文字的技术。这种技术可以识别和转换各种来源的文本,包括扫描文档、照片中的文字、手写笔记等。光学字符识别(OCR)技术在实际应用场景中的作用是多方面的。首先,OCR技术在文档数字化方面扮演着关键角色。通过将纸质文档转换为电子格式,如PDF或Word文档,OCR不仅促进了信息的保存和共享,也极大地提高了数据检索的效率。这一过程对于历史档案的保存尤为重要,同时也在日常办公环境中普遍应用。

qq_34717531的博客 4924

[PaddleOCR] 从模型到服务:PP-OCRv3 工业级服务化部署实战

本文详细介绍了PP-OCRv3工业级服务化部署的实战经验,涵盖环境搭建、模型转换、Python Pipeline部署及C++方案性能对比。通过PaddleServing框架,实现高并发、低延迟的OCR服务,适用于票据处理、文档数字化等场景,提升企业智能化转型效率。

weixin_29216049的博客 397

C#本地部署PaddleOCR v4模型:从环境配置到生产优化的完整指南

OCR(光学字符识别)技术通过计算机视觉和深度学习模型,将图像中的文字转换为可编辑和可搜索的文本数据。其核心原理通常涉及文本检测、方向分类和文字识别等多个阶段,通过卷积神经网络提取特征并进行序列预测。这项技术的价值在于能够自动化处理大量非结构化图像文本,极大提升信息录入、文档数字化和内容分析的效率。在数据隐私敏感、网络条件受限或需要高并发处理的场景中,本地部署OCR方案成为关键需求。本文聚焦于利用sdcb.paddleocr库在.NET生态中部署最新的PaddleOCR v4模型,详细解析了包括**模型文件

weixin_34242509的博客 319

PaddleOCR基于PaddleServing的服务部署(docker环境)

1 基于PaddleServing的服务部署 本文档将介绍如何使用PaddleServing工具部署PPOCR 动态图模型的pipeline在线服务。 相比较于hubserving部署,PaddleServing具备以下优点: 支持客户端和服务端之间高并发和高效通信 支持 工业级的服务能力 例如模型管理,在线加载,在线A/B测试等 支持 多种编程语言 开发客户端,例如C++, Python和Java 更多有关PaddleServing服务化部署框架介绍和使用教程参考文档。 2 环境准备 需要准备Padd

进击的豌豆的博客 8129

C#上位机部署PaddleOCR V4:基于ONNX Runtime的完整实战源码

OCR技术作为计算机视觉的重要分支,在工业自动化、文档数字化等领域广泛应用。其核心原理是检测图像中的文字区域并进行识别,通常包含文本检测、方向分类与文本识别三大环节。深度学习模型如PaddleOCR凭借高精度与开源优势成为主流选择,而C#开发者常面临如何将Python生态的模型高效集成到WinForms/WPF上位机的挑战。通过将PaddleOCR V4模型导出为ONNX格式,并结合OnnxRuntime在C#中实现独立离线推理,可避免原生飞桨库依赖,简化部署流程。本文围绕这一技术路线,详细讲解环境配置、模

weixin_33850015的博客 417

PaddleOCR 全场景部署指南:Python、C++、服务化、Paddle-Lite 与 ONNX 方案选型与实战

本文是 PaddleOCR 部署体系的导读与实战手册。以仓库根目录下的 [deploy/README.md](https://link.gitcode.com/i/c86fbf9d75ce07bfdddf7b5615ad2ee4) 为主线,系统梳理 PaddleOCR 支持的五大类部署方案:Python 推理、C++ 高性能推理、服务化部署(Serving)、Paddle-Lite 端侧部署与 P

gitblog_00062的博客 666

PP-OCRv5_server_det_infer.onnx

PP-OCRv5 Onnx模型

SAP-MM-PR分配货源并转PO

SAP-MM-PR分配货源并转PO

yanzibing99的博客 5475

PaddleOCR 基于 PaddleHub Serving 的 OCR 服务化部署详解:从服务包安装到自定义模块扩展

本文围绕 PaddleOCR 仓库中 `deploy/hubserving` 目录的官方部署文档,系统讲解如何将文本检测、文本识别、版面分析、表格识别等 OCR 能力以 HTTP API 形式服务化:包括 9 种服务包的安装、CPU/GPU 两种启动方式、预测请求的发送与返回结果字段,以及如何结合 `module.py`/`params.py` 源码结构完成服务模块的自定义修改。读完本文,你可以独

gitblog_00035的博客 447

Simulink与C/C++的无缝对接:自定义结构体变量导入实战指南

本文详细介绍了如何将C/C++自定义结构体导入Simulink环境,实现无缝数据对接。通过编写标准C头文件、配置MEX编译环境(如MinGW),并利用`Simulink.importExternalCTypes`函数,可将结构体转换为Simulink Bus对象,从而提升复杂系统模型的可读性、可维护性及仿真与代码生成效率。

weixin_29093017的博客 484

paddleocr学习笔记(一)从官网开始

官网github说明:https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/README_ch.md English| 简体中文 简介 PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。 注意 PaddleOCR同时支持动态图与静态图两种编程范式 动态图版本:dygraph分支(默认),需将paddle版本升级至2.0.0(快速安装) 静态图版本:develop分支 近期更新 20.

juluwangriyue的博客 3316

论文笔记--Spatial-Temporal Fusion Graph Neural Networks for Traffic Flow Forecasting

Summary 在交通预测问题上,现有的框架通常利用给定的空间邻接图和复杂的机制来建模空间和时间关联。作者认为使用给定的空间邻接图会限制模型的有效时空相关性学习,并且它们通常使用单独的模块来实现空间和时间相关性,或者只使用独立的组件来捕获局部或全局的异质依赖关系,割裂了时空依赖关系。为此作者提出一种时空融合图神经网络用于交通预测。提出一种数据驱动的“时间图”生成方法,以此来补偿空间图可能没有反映的相关性。提出一种新的交通预测方法。 Problem Definition 交通预测中的挑战 以上图为

chenxino的博客 1755

gd32 spi 发送&中断接收例程

【代码】gd32 spi 发送&中断接收例程。

weixin_43026921的博客 1653

0、PaddleOCR实战-OCR

视频1 开源最强OCR系统PP-OCRv3揭秘 视频2 云边端全覆盖的PP-OCRv3训练部署实战 视频3 OCR产业应用全流程拆解与实践

qq_15821487的博客 1439

实战避坑:示波器测量非隔离开关电源的炸机风险与隔离方案

本文详细分析了使用示波器测量非隔离开关电源时的炸机风险,揭示了地线环路导致的短路问题,并对比了四种防炸机解决方案,包括示波器隔离供电、拔掉电源地线、使用差分探头和被测板隔离供电。重点推荐使用隔离变压器方案,确保测量安全与精度,同时提供了实操建议与经验分享,帮助工程师避免常见测量事故。

weixin_29224309的博客 561

如何快速完成视频字幕提取:本地OCR把硬字幕一键转成srt的完整指南

你收藏的外语视频里,字幕往往烧录进画面(俗称硬字幕),想复制、想翻译却一个字都拿不到?video-subtitle-extractor(VSE)正是一款视频字幕提取工具:它在本地完成 OCR 文字识别,把烧在画面里的字幕逐行抽出来,直接生成可编辑的 srt 文件——无需联网、不申请任何第三方 API。 ## 🚀 快速上手:3步跑通视频字幕提取 不用啃源码,最短路径如下: 1. **拿到项目

gitblog_00845的博客 428

CMCC-IPC-A410串口刷机救砖教程

《CMCC-IPC-A410摄像头串口刷机指南》摘要 本指南针对2018年前老款CMCC-IPC-A410摄像头变砖/升级失败的情况,提供串口刷机方案。需准备CH340G串口模块、杜邦线、海康V5.5.82固件等工具。操作包含硬件连接(TX/RX交叉接线)、115200波特率终端配置、CTRL+U进入刷机模式,通过UPF格式化、tftp传输固件、update写入等步骤完成修复。刷机后设备恢复未激活状态,需重置密码,原定制功能可能失效。整个过程需稳定供电,耗时约15-20分钟,注意此操作将使原厂保修失效。(1

海康威视技术支持 1851

【异常】OpenClaw认证 Please carry the API secret key in the ‘Authorization‘ field of the request header

OpenClaw助手Agent因401认证异常导致业务中断的排查方案。该异常由大模型API鉴权全量失败触发,主要根因包括API凭证配置错误、密钥过期、账号权限不足或请求格式不规范。解决方案分四级:优先校验并修正API密钥;排查账号状态与调用权限;检查请求格式规范;最后排查网络或服务商问题。建议建立密钥生命周期管理机制,定期监控额度,使用专用API密钥以规避类似问题。该异常属于凭证配置类故障,不影响系统稳定性。

奶爸的编程之路,也就一周冷个三天 465

PaddleOCR CRNN 文本识别算法全解析:原理、训练评估与推理部署实战

本文以 PaddleOCR 仓库中 CRNN 算法文档为骨架,系统讲解 CRNN(Convolutional Recurrent Neural Network)这一经典场景文本识别算法的论文原理、在 PaddleOCR 中的模块化实现(Backbone + SequenceEncoder + CTCHead 三段式结构)、完整配置解读,以及从单卡/多卡训练、评估、预测到 Python 推理、C++

gitblog_00990的博客 203

2026年迈瑞医疗嵌入式岗位面试题集(含参考答案)

文章摘要 本文总结了嵌入式开发面试中的30道题目,涵盖7大模块:嵌入式硬件与底层驱动、C/C++语言基础、操作系统与多线程编程、网络通信协议、数据结构与算法、开发工具与调试能力、综合素养与职业认知。重点解析了I²C通信协议的工作原理、速率选择及异常排查方法;USB的报文协议与四种传输类型及其适用场景;硬中断与软中断的区别及设计注意事项;字节序的概念与处理方法;以及C++中static和const关键字的核心作用。内容深入实用,适用于嵌入式开发者的技术提升与面试准备。

Open 53

PaddleOCR 模型推理部署全指南:Python / C++ / Serving / Paddle-Lite / Paddle2ONNX 五大方案详解

本篇技术指南以飞桨 PaddleOCR 2.x 文档中「PP-OCR 模型推理部署」章节为核心,系统梳理飞桨为 PP-OCR 系列模型提供的五种部署方案——Python 推理、C++ 推理、Serving 服务化部署、Paddle-Lite 端侧部署与 Paddle2ONNX 转换推理。你将掌握如何根据硬件环境(服务器 CPU/GPU、移动端、嵌入式设备)与业务形态(单机离线推理、在线服务、跨框架

gitblog_00752的博客 505

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PaddleOCR印刷体识别提升实战:从快速上手到部署调优的完整指南

企业单据数字化项目里,扫描件模糊、中英文混排、大写金额和印章频频误读,是拖慢进度最典型的三个原因。PaddleOCR 是基于 PaddlePaddle 的多语言 OCR 工具包,支持 80+ 种语言识别,借助它的多语言字体资产、PP-OCRv5 识别配置与微调流程,可以把印刷体识别准确率稳步拉到生产可用的水平。这篇文章按"装好 → 看懂资产 → 调优模型 → 落地单据场景 → 部署加速"的顺序,把

gitblog_00025的博客 99

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

PaddleOCR-json深度解析:构建高性能离线OCR服务的完整技术方案

PaddleOCR-json是一款基于PaddleOCR C++推理引擎构建的高性能离线OCR命令行工具,通过JSON格式输出识别结果,为各类应用程序提供标准化的文字识别接口。相较于传统OCR解决方案,该项目将C++的高性能计算能力与多语言API的便捷性完美结合,为开发者提供了从单机部署到分布式调用的完整技术栈。 ## 一、核心架构与性能优势分析 ### 1.1 技术架构设计理念 Paddl

gitblog_00603的博客 934

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: [paddleocr]基于Python引擎的PP-OCR模型库推理
下一篇: [paddlocr]Paddle2ONNX模型转化与预测
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值