告别复杂文档解析噩梦!MonkeyOCR 本地部署教程:支持公式/表格多元素结构化

一、介绍

MonkeyOCR 是华中科技大学联合金山办公(Kingsoft Office)推出的文档解析模型,模型支持高效地将非结构化文档内容转换为结构化信息。基于精确的布局分析、内容识别和逻辑排序,显著提升文档解析的准确性和效率。

与传统方法相比,MonkeyOCR在处理复杂文档(如包含公式和表格的文档)时表现出色,平为性能提升5.1%,在公式和表格解析上分别提升15.0%和8.6%。模型在多页文档处理速度上表现出色,达到每秒0.84页,远超其他同类工具。 MonkeyOCR支持多种文档类型,包括学术论文、教科书和报纸等,适用多种语言,为文档数字化和自动化处理提供强大的支持。

二、部署流程

环境推荐配置

系统:Ubuntu22.04,

显卡:4090,

显存:24G,cuda12.4.1

1. 基础环境

查看系统是否有Miniconda3的虚拟环境

复制代码
conda -V

如果输入命令没有显示Conda版本号,则需要安装。

2.更新系统命令

输入下列命令将系统更新及系统下载

sql 复制代码
apt-get update && apt-get install ffmpeg libsm6 libxext6  -y

3.创建虚拟环境

创建名称为"MonkeyOCR "的虚拟环境

ini 复制代码
conda create -n MonkeyOCR python=3.10 -y 

激活虚拟环境

复制代码
conda activate MonkeyOCR 

4.下载模型

输入下列命令下载MonkeyOCR 模型同时进入项目中

bash 复制代码
git clone https://github.com/Yuliang-Liu/MonkeyOCR.git
cd MonkeyOCR

5.下载Pytorch

输入下列命令:

ini 复制代码
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124 

直到"Successfully"出现,下载才结束

6.下载依赖包

erlang 复制代码
pip install -e .


直到"Successfully"出现,下载才结束

7.下载模型权重文件

bash 复制代码
python tools/download_model.py

三、Gradio演示

下载其他缺失依赖包

ini 复制代码
# Prepare your env for gradio
pip install gradio==5.23.3
pip install pdf2image==1.17.0

访问界面

bash 复制代码
python demo/demo_gradio.py

界面效果

四、其他(可选)

修复 RTX 3090 / 4090 / ...GPU

我们的 3B 模型在 NVIDIA RTX 3090 上高效运行。但是,当使用 LMDeploy 作为推理后端时,您可能会遇到 RTX 3090 / 4090 GPU 的兼容性问题,尤其是以下错误:

csharp 复制代码
triton.runtime.errors.OutOfResources: out of resource: shared memory

要解决此问题,您可以应用以下补丁:

bash 复制代码
python tools/lmdeploy_patcher.py patch

⚠️ 注意:此命令将在您的环境中修改 LMDeploy 的源代码。 要还原更改,只需运行:

bash 复制代码
python tools/lmdeploy_patcher.py restore
相关推荐
好评1248 分钟前
Linux入门:软件包管理、Vim、GCC、Makefile、Git 与 GDB
linux·运维·服务器
可爱又迷人的反派角色“yang”1 小时前
ansible剧本编写(三)
linux·网络·云计算·ansible
لا معنى له4 小时前
目标检测的内涵、发展和经典模型--学习笔记
人工智能·笔记·深度学习·学习·目标检测·机器学习
AKAMAI6 小时前
Akamai Cloud客户案例 | CloudMinister借助Akamai实现多云转型
人工智能·云计算
石像鬼₧魂石6 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu
小a杰.7 小时前
Flutter 与 AI 深度集成指南:从基础实现到高级应用
人工智能·flutter
橘子真甜~7 小时前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
colorknight8 小时前
数据编织-异构数据存储的自动化治理
数据仓库·人工智能·数据治理·数据湖·数据科学·数据编织·自动化治理
Lun3866buzha8 小时前
篮球场景目标检测与定位_YOLO11-RFPN实现详解
人工智能·目标检测·计算机视觉
janefir8 小时前
LangChain框架下DirectoryLoader使用报错zipfile.BadZipFile
人工智能·langchain