0

0

RapidLayout onnxruntime GPU推理示例

P粉084495128

P粉084495128

发布时间:2025-07-31 11:00:39

|

325人浏览过

|

来源于php中文网

原创

本文介绍RapidLayout库的onnxruntime GPU推理示例。该库用于文档图像版面分析,集成多种模型。在GPU环境下,onnxruntime-gpu推理速度比CPU快10倍。文中给出安装步骤,分别测试了CPU和GPU版onnxruntime的推理耗时,GPU平均耗时0.0440s,远快于CPU的0.9425s,还说明关键是设置use_cuda=True参数。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

rapidlayout onnxruntime gpu推理示例 - php中文网

RapidLayout onnxruntime GPU推理示例

RapidLayout简介

RapidLayout Github: https://github.com/RapidAI/RapidLayout

在线demo: https://huggingface.co/spaces/SWHL/RapidLayout

RapidLayout库主要是做文档类图像的版面分析。具体来说,就是分析给定的文档类别图像(论文截图、研报等),定位其中类别和位置,如标题、段落、表格和图片等各个部分。该库集成了PP-Structure中3个版面分析模型、360开源的4个版面分析模型,大家可按需使用。

版面分析落地场景:一般用于结构化文档使用。将PDF中每一页转为图像,用版面分析检测出图像中各个元素,像段落、表格、公式,然后将各个元素送到各个专用模型下识别,最后汇总做版面恢复为Word或者TXT格式。

RapidLayout onnxruntime GPU推理示例 - php中文网

威客
威客

PHP威客系统威客贰系统是国内领先的威客网站内容管理系统,基于PHP+Mysql架构开发。整合UCHOME系统,系统内容模块由:威客悬赏,招标任务,人才库,人才,招聘,新闻资讯,在线支付,发贴推广,案例示范等多种功能组成。 威客贰系统独创的单人悬赏、 多人悬赏 、计件悬赏 、 定金招标、 本地招标为核心任务模式。超强的发贴推广可以分配到不同的任务模式不同的会员等级有不同的提成费用,根据网站自身需要

下载

GPU推理速度结论:onnxruntime-gpu推理速度有10倍提升。原因是版面分析输入图像尺寸固定。

前提条件

启动该项目时,需要选择具有GPU的运行环境(V100),可选下图红框任意一个:

RapidLayout onnxruntime GPU推理示例 - php中文网

对比结果

推理 推理速度(s/img)
CPU 0.9425
GPU V100 0.0440

安装rapid_layout

⚠️注意:默认安装cpu版的onnxruntime库

In [1]
!pip install rapid_layout
Looking in indexes: https://mirror.baidu.com/pypi/simple/, https://mirrors.aliyun.com/pypi/simple/
Collecting rapid_layout
  Downloading https://mirrors.aliyun.com/pypi/packages/81/49/2aecd89bb7a91d745565257a580b2f7869dcf722a9cad03c106f1c1b0a31/rapid_layout-0.2.0-py3-none-any.whl (6.8 MB)     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.8/6.8 MB 636.5 kB/s eta 0:00:0000:0100:01
Requirement already satisfied: Pillow in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from rapid_layout) (10.3.0)
Requirement already satisfied: numpy<2,>=1.21.6 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from rapid_layout) (1.26.4)
Requirement already satisfied: onnxruntime>=1.7.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from rapid_layout) (1.18.0)
Requirement already satisfied: opencv-python>=4.5.1.48 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from rapid_layout) (4.10.0.84)
Requirement already satisfied: requests in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from rapid_layout) (2.32.3)
Requirement already satisfied: tqdm in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from rapid_layout) (4.66.4)
Requirement already satisfied: coloredlogs in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime>=1.7.0->rapid_layout) (15.0.1)
Requirement already satisfied: flatbuffers in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime>=1.7.0->rapid_layout) (24.3.25)
Requirement already satisfied: packaging in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime>=1.7.0->rapid_layout) (24.1)
Requirement already satisfied: protobuf in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime>=1.7.0->rapid_layout) (3.20.3)
Requirement already satisfied: sympy in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime>=1.7.0->rapid_layout) (1.12.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from requests->rapid_layout) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from requests->rapid_layout) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from requests->rapid_layout) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from requests->rapid_layout) (2024.6.2)
Requirement already satisfied: humanfriendly>=9.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from coloredlogs->onnxruntime>=1.7.0->rapid_layout) (10.0)
Requirement already satisfied: mpmath<1.4.0,>=1.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from sympy->onnxruntime>=1.7.0->rapid_layout) (1.3.0)
Installing collected packages: rapid_layout
Successfully installed rapid_layout-0.2.0

测试用CPU版onnxruntime推理耗时

In [2]
import cv2from rapid_layout import RapidLayoutfrom pathlib import Path

layout_engine = RapidLayout(conf_thres=0.5, model_type="pp_layout_cdla")# warm uplayout_engine("images/12027_5.png")

elapses = []
img_list = list(Path('images').iterdir())for img_path in img_list:
    boxes, scores, class_names, elapse = layout_engine(img_path)    print(f"{img_path}: {elapse}s")
    elapses.append(elapse)
    
avg_elapse = sum(elapses) / len(elapses)print(f'avg elapse: {avg_elapse:.4f}')
2024-06-25 21:11:44,758 - DownloadModel - INFO: /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages/rapid_layout/models/layout_cdla.onnx already exists
2024-06-25 21:11:45,088 - rapid_layout - INFO: pp_layout_cdla contains ['text', 'title', 'figure', 'figure_caption', 'table', 'table_caption', 'header', 'footer', 'reference', 'equation']
images/1712652165000_6.png: 0.8755233287811279s
images/12027_5.png: 0.9934070110321045s
images/基于子字单元的神经机器翻译未登录词翻译分析_5.png: 0.894378662109375s
images/000968_蓝焰控股2023年三季度报告_8.png: 0.912381649017334s
images/20020304_3.png: 0.9924137592315674s
images/layout.png: 0.9869406223297119s
avg elapse: 0.9425

安装GPU版onnxruntime

In [1]
!pip uninstall onnxruntime -y 
!pip install onnxruntime-gpu
Found existing installation: onnxruntime 1.18.0
Uninstalling onnxruntime-1.18.0:
  Successfully uninstalled onnxruntime-1.18.0
Looking in indexes: https://mirror.baidu.com/pypi/simple/, https://mirrors.aliyun.com/pypi/simple/
Collecting onnxruntime-gpu
  Downloading https://mirrors.aliyun.com/pypi/packages/67/ca/f9c9c338eb1075e53d785cf1a62a50388f2d210d38fc8f9dafd7d145039a/onnxruntime_gpu-1.18.0-cp310-cp310-manylinux_2_28_x86_64.whl (199.8 MB)     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.8/199.8 MB 552.3 kB/s eta 0:00:0000:0100:10
Requirement already satisfied: coloredlogs in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime-gpu) (15.0.1)
Requirement already satisfied: flatbuffers in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime-gpu) (24.3.25)
Requirement already satisfied: numpy>=1.21.6 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime-gpu) (1.26.4)
Requirement already satisfied: packaging in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime-gpu) (24.1)
Requirement already satisfied: protobuf in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime-gpu) (3.20.3)
Requirement already satisfied: sympy in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from onnxruntime-gpu) (1.12.1)
Requirement already satisfied: humanfriendly>=9.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from coloredlogs->onnxruntime-gpu) (10.0)
Requirement already satisfied: mpmath<1.4.0,>=1.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages (from sympy->onnxruntime-gpu) (1.3.0)
Installing collected packages: onnxruntime-gpu
Successfully installed onnxruntime-gpu-1.18.0

测试用GPU版onnxruntime推理耗时

In [3]
import cv2from rapid_layout import RapidLayoutfrom pathlib import Path# 注意:这里需要使用use_cuda指定参数layout_engine = RapidLayout(conf_thres=0.5, model_type="pp_layout_cdla", use_cuda=True)# warm uplayout_engine("images/12027_5.png")

elapses = []
img_list = list(Path('images').iterdir())for img_path in img_list:
    boxes, scores, class_names, elapse = layout_engine(img_path)    print(f"{img_path}: {elapse}s")
    elapses.append(elapse)
    
avg_elapse = sum(elapses) / len(elapses)print(f'avg elapse: {avg_elapse:.4f}')
2024-06-25 21:05:30,799 - DownloadModel - INFO: /opt/conda/envs/python35-paddle120-env/lib/python3.10/site-packages/rapid_layout/models/layout_cdla.onnx already exists
2024-06-25 21:05:31,067 - rapid_layout - INFO: pp_layout_cdla contains ['text', 'title', 'figure', 'figure_caption', 'table', 'table_caption', 'header', 'footer', 'reference', 'equation']
images/1712652165000_6.png: 0.041887760162353516s
images/12027_5.png: 0.042180538177490234s
images/基于子字单元的神经机器翻译未登录词翻译分析_5.png: 0.0420379638671875s
images/000968_蓝焰控股2023年三季度报告_8.png: 0.054517507553100586s
images/20020304_3.png: 0.04352569580078125s
images/layout.png: 0.0400235652923584s
avg elapse: 0.0440
代码解释
In [ ]

相关专题

更多
http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1988

2024.08.16

word背景色怎么改成白色
word背景色怎么改成白色

Word是微软公司的一个文字处理器软件。word为用户提供了专业而优雅的文档工具,帮助用户节省时间并得到优雅美观的结果。word提供了许多易于使用的文档创建工具,同时也提供了丰富的功能供创建复杂的文档使用。怎么word背景色怎么该呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3702

2023.07.21

word最后一页空白页怎么删除
word最后一页空白页怎么删除

word最后一页空白页删除方法有:通过删除回车符、调整页边距、删除分节符或调整分页符位置,您可以轻松去除最后一页的空白页。根据您实际的文档情况,选择适合您的方法进行操作,使您的文档更加美观和整洁。本专题为大家提供word最后一页空白页怎么删除不了相关的各种文章、以及下载和课程。

321

2023.07.24

word最后一页空白页怎么删除不了
word最后一页空白页怎么删除不了

word删除最后一页空白页,可以尝试使用Backspace键删除空白页,如果无效,查找和删除分页符,或者调整页面边距和行距。还可以尝试将文档保存为其他格式并重新打开和保存。本专题为大家提供word最后一页空白页为啥删除不了的相关的文章、下载、课程内容,供大家免费下载体验。

368

2023.07.25

word单页改变纸张方向
word单页改变纸张方向

word单页改变纸张方向:1、在界面上选择文档纸张方向;2、自定义页面设置;3、分节功能。本专题为大家提供word单页改变纸张方向的相关的文章、下载、课程内容,供大家免费下载体验。

618

2023.07.27

word转ppt
word转ppt

Word是一款常用的文字处理软件,而PowerPoint则是一款专门用于制作演示文稿的软件。在某些情况下,我们可能需要将Word文档转换为PowerPoint演示文稿,以便更好地展示我们的内容。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

374

2023.08.03

word页码从第三页开始为1教程
word页码从第三页开始为1教程

如何将word页码从第三页开始为1,本专题为大家提供相关的文章,希望可以帮助大家解决问题。

2142

2023.08.04

多个word合并成一个word教程
多个word合并成一个word教程

在工作中将多个word合并成一个word是一个很常见的操作,本专题为大家提供相关问题的解决文章,大家可以免费阅读。

1753

2023.08.04

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号