Surya-OCR运行报错:找不到surya.model.segformer模块求助
问题解决及参考资料
一、解决ModuleNotFoundError: No module named 'surya.model.segformer'
1. 核心原因
你参考的代码基于旧版Surya-OCR,当前官方Surya-OCR的模块结构已更新,segformer相关的导入路径已变更。
2. 修复步骤
方式一:使用官方最新版Surya-OCR
确保安装的是官方最新包:pip install --upgrade surya-ocr替换导入代码为官方当前的正确路径:
from surya.ocr import load_model, load_processor model, processor = load_model(), load_processor()如果需要表格提取相关的布局检测,还需导入布局和检测模块:
from surya.detection import load_detector, load_detector_processor from surya.layout import load_layout_model, load_layout_processor detector, det_processor = load_detector(), load_detector_processor() layout_model, layout_processor = load_layout_model(), load_layout_processor()方式二:匹配参考代码的旧版Surya
若要完全沿用参考的代码逻辑,需安装对应分支的Surya版本:# 克隆对应仓库后本地安装 git clone https://github.com/srinathmkce/surya.git cd surya pip install -e .(注:此版本为参考代码依赖的定制分支,与原代码模块结构一致)
二、含表格发票提取的参考资料
Surya-OCR 相关
- 利用Surya的布局检测模块识别发票中的表格区域,再针对区域进行OCR提取:
- 先通过
layout_model识别文档中的表格边界,定位表格位置; - 裁剪表格区域后,用OCR模型提取单元格文本;
- 根据布局分析的行列信息,将文本整理为结构化表格(如Pandas DataFrame)。
- 先通过
- Surya官方提供的结构化提取示例中,包含表格、段落等复杂文档元素的处理逻辑,可参考其核心流程实现发票表格提取。
GOT-OCR 相关
- GOT-OCR支持一键式结构化文档提取,针对含表格的发票,可直接指定任务类型为表格提取,模型会自动识别表格结构并返回行列对应的文本数据;
- 本地部署GOT-OCR后,可通过传入发票图片,获取包含表格内容的结构化输出,无需额外编写布局检测代码;
- GOT-OCR的多语言适配性较好,能处理不同语言的发票表格,输出格式支持JSON、CSV等便于后续处理的格式。
内容的提问来源于stack exchange,提问作者Soumadeep Dutta
相关产品推荐
相关产品推荐

