Skip to content

【开源实习】基于MindSpore NLP实现DeepSeek-OCR文本识别与结构化解析可交互DEMO开发 #2064#51

Open
lyyyym wants to merge 5 commits intomindspore-lab:devfrom
lyyyym:dev
Open

【开源实习】基于MindSpore NLP实现DeepSeek-OCR文本识别与结构化解析可交互DEMO开发 #2064#51
lyyyym wants to merge 5 commits intomindspore-lab:devfrom
lyyyym:dev

Conversation

@lyyyym
Copy link
Copy Markdown

@lyyyym lyyyym commented Mar 31, 2026

任务描述:DeepSeek-OCR 文本识别与结构化解析可交互 DEMO

一、任务概述

基于 MindSpore 2.7.0 + MindNLP 0.5.1,参考 https://huggingface.co/spaces/khang119966/DeepSeek-OCR-DEMO,在华为 Ascend NPU 910B 上实现 DeepSeek-OCR 多场景文本识别与结构化解析的可交互 DEMO,支持流式生成与性能优化。
二、实现内容

多场景 OCR 可交互 DEMO(app.py)
基于 Gradio 构建 Web 交互界面,支持以下功能:

多任务类型:Free OCR(自由识别)、Markdown 转换(文档结构化)、图表解析、文本定位(Grounding)
多分辨率模式:Tiny(512)、Small(640)、Base(1024)、Large(1280)、Gundam(1024+640 crop,推荐)
图片上传与实时识别:用户上传图片后一键识别,结果区展示识别文本、标注图像和性能指标
NPU 适配:针对 Ascend NPU 不支持 scatter_add 算子的问题,使用 F.one_hot + 矩阵乘法替代方案
流式生成与 Token 时间统计
将模型输出改为流式生成模式,核心实现:

从 model.infer() 方法中抽取图像预处理逻辑为独立的 prepare_inputs() 函数
使用 TextIteratorStreamer 替代原生非流式输出
在后台线程中运行 model.generate(),主线程通过 streamer 迭代获取 token
实时统计性能指标:首 Token 延迟(TTFT)、已生成 Token 数、总耗时、生成速度(tokens/s)、解码速度(不含首 token)
模型推理性能优化
实施优化方案,并提供优化前后实测数据对比。

@xing-yiren
Copy link
Copy Markdown
Contributor

辛苦 @moyu026 做下代码验证,@DuangZ-GR 检查下代码规范

@moyu026
Copy link
Copy Markdown

moyu026 commented Apr 2, 2026

最后的Gradio 交互 DEMO是不是还没有做?

Copy link
Copy Markdown
Author

@lyyyym lyyyym left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

老师你好,我已增加

@moyu026
Copy link
Copy Markdown

moyu026 commented Apr 2, 2026

可以参考这个把需要的安装依赖写在开头
image

@lyyyym
Copy link
Copy Markdown
Author

lyyyym commented Apr 2, 2026

老师您好我已添加

@moyu026
Copy link
Copy Markdown

moyu026 commented Apr 2, 2026

python版本改成3.9,然后安装依赖改成这几个
!pip install mindspore==2.7.0
!pip install mindnlp==0.5.1
!pip install diffusers==0.35.2
!pip install gradio
!pip install einops
!pip install torchvision
然后删掉这两行代码
https://github.com/lyyyym/applications/blame/ac8b211b47ecb0f8a12a9693dbcf0fcc254e7e5f/cv/ocr/inference_deepSeekorc_demo.ipynb#L1004
https://github.com/lyyyym/applications/blame/ac8b211b47ecb0f8a12a9693dbcf0fcc254e7e5f/cv/ocr/inference_deepSeekorc_demo.ipynb#L1027

@moyu026
Copy link
Copy Markdown

moyu026 commented Apr 2, 2026

MindSpore 2.7.0 和 MindNLP 0.5.1 版本可以运行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants