pdf-processing-cpu 是基于 MinerU 的 PDF 文档解析工具模型集合,支持将 PDF 文档转换为 Markdown 格式。该模型集包含了 PDF 解析所需的全部子模型权重文件。
该模型集包含了 MinerU PDF 解析管道的全部子模型:
| 子模型 | 功能 | 框架 | 模型格式 |
|---|---|---|---|
| Layout | 文档布局检测 | YOLOv8 | OpenVINO |
| MFD | 数学公式检测 | YOLOv8 | OpenVINO |
| MFR | 数学公式识别 | UniMERNet | OpenVINO |
| OCR | 文字识别 | PaddleOCR | PyTorch |
| TabRec | 表格识别 | SLANet+ | ONNX/OpenVINO |
| layoutreader | 阅读顺序 | BERT | OpenVINO |
| langdetect | 语言检测 | YOLOv11 | PyTorch |
该模型集使用 MinerU (magic-pdf) 作为推理框架,通过配置 device-mode 参数支持 CPU/NPU 切换:
{
"models-dir": "/path/to/models",
"device-mode": "npu" // 或 "cpu"
}magic-pdf 原生支持 NPU 模式(device-mode: "npu"),会自动将模型加载到昇腾 NPU 上进行推理。
pip install magic-pdf
pip install torch torchvision transformers
pip install opencv-python-headless
pip install openvino onnx onnxruntime
pip install ultralytics paddlepaddle# CPU 推理
magic-pdf -p input.pdf -o output_dir -m auto
# NPU 推理(配置 device-mode 为 npu)
magic-pdf -p input.pdf -o output_dir -m auto或使用 Python API:
from magic_pdf.tools.common import do_parse
from magic_pdf.data.data_reader_writer import FileBasedDataReader
disk_rw = FileBasedDataReader(pdf_dir)
pdf_bytes = disk_rw.read(pdf_name)
do_parse(
output_dir=output_dir,
pdf_file_name="output",
pdf_bytes_or_dataset=pdf_bytes,
model_list=[],
parse_method="auto",
)在本适配环境中,由于缺少系统库 libGL.so.1,magic-pdf 的完整管道无法运行。OpenCV (cv2) 依赖该库进行图像处理操作。
错误信息:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory解决方案:
# 需要 root 权限安装系统依赖
sudo apt-get install libgl1虽然完整管道无法运行,但以下子模型已验证可以独立加载和推理:
| 子模型 | 格式 | 状态 |
|---|---|---|
| Layout (YOLOv8) | OpenVINO | 可加载(需安装 openvino) |
| MFR (UniMERNet) | OpenVINO | 可加载 |
| TabRec (SLANet+) | ONNX | 可在 CPU/NPU 通过 onnxruntime 运行 |
| layoutreader | OpenVINO | 可加载 |
对于 ONNX 格式的子模型(如 TabRec 的 SLANet+),可以使用 onnxruntime-cann 在 NPU 上运行:
pip install onnxruntime-cannimport onnxruntime as ort
# NPU 推理
sess = ort.InferenceSession("model.onnx", providers=["CANNExecutionProvider"])
outputs = sess.run(None, {input_name: input_data})由于系统库依赖问题,完整管道的推理测试无法在本环境中完成。请在有 libGL 的环境中运行。
| 项目 | 状态 | 说明 |
|---|---|---|
| 模型下载 | ✅ 成功 | 已从 ModelScope 下载全部模型文件 |
| 环境检查 | ✅ 完成 | NPU、torch_npu、ONNX Runtime 可用 |
| magic-pdf 安装 | ✅ 成功 | 安装至自定义路径 |
| 模型配置 | ✅ 完成 | 配置文件准备就绪 |
| 完整管道推理 | ❌ 失败 | 缺少 libGL.so.1 系统库 |
| CPU/NPU 对比 | ❌ 未执行 | 管道未运行,无法对比 |

inference.py - 推理脚本compare_cpu_npu.py - CPU/NPU 精度对比脚本requirements.txt - Python 依赖README.md - 本文档screenshot.png - 运行截图