当前位置: 首页 > news >正文

【昇腾推理PaddleOCR】生产级部署方式

已知的在昇腾上推理Paddle OCR有三种方法:
概要:

PyTorch官方提供了昇腾插件包,安装后虽然可以支持PytorchOCR和PaddlePaddle的推理任务,但性能较低。换句话说,PaddlePaddle框架层面支持了昇腾,但具体到某个模型、模型算子就不一定了。

为了充分发挥昇腾硬件的潜力,可以采用离线推理方案:
​​模型转换​​:将Paddle模型转换为昇腾专用的OM格式;
​高效推理​​:通过昇腾 ACL 框架运行,显著提升性能。
这种方案通过硬件深度优化,能大幅提升推理速度。
但由于学习成本高、效果不确定等,目前网上没有这个的完整解决方案。
------------------------------------------- 分界线 -----------------------------------------------
因为工作需要,发现了另一种途径,然后实现了在昇腾高性能推理、服务化的方式。已开源,欢迎 Star。

1. Paddle官方

使用Paddle官方提供的昇腾环境。优点是简单、官方兼容。缺点很明显:性能很差,不适用于企业真实场景。

2. 昇腾ACL

使用昇腾工具转为昇腾支持的om格式的模型,再利用昇腾ACL(昇腾的C++推理框架)编写推理脚本。优点是:性能好。缺点很明显:学习成本很高、并且就算用ACL编写出整个Pipeline,也可能会有其他问题,且不容易分析调整。

模型转换和推理可以参考我的另一篇博文:https://blog.csdn.net/weixin_45653525/article/details/147519518?spm=1001.2014.3001.5501

3. 生产可用级

邪修的路子往往直达痛点使用Pytorch推理Paddle OCR模型
经过测试,性能很不错:0.5s一张图片,经过批处理优化后甚至可达0.2s一页。精度也OK,并且稳定性在企业中已经验证过,7*24稳定可靠。缺点是大图片会导致显存升高,需要专门拿出一张卡部署,问题其实也不大。
总的来说,这个速度已经很不错了,并且在当前Paddle官方没有很好支持昇腾的情况下,绝对是首选。

高性能、高可用的昇腾推理方式已开源,期待各位 ⭐ Star~⭐

地址:https://github.com/momomo623/PaddleOCR-NPU

传送门

http://www.dtcms.com/a/311765.html

相关文章:

  • 机器学习实战:KNN算法全解析 - 从原理到创新应用
  • LangChain框架入门05:输出解析器使用技巧
  • SpringBoot 服务器配置
  • Json简单的实现
  • 【Android】RecyclerView实现新闻列表布局(1)适配器使用相关问题
  • 【Leetcode】2561. 重排水果
  • 【Django】-6- 登录用户身份鉴权
  • 知识随记-----Qt 实战教程:使用 QNetworkAccessManager 发送 HTTP POST
  • 面试小总结
  • 解决技术问题思路
  • STM32学习记录--Day6
  • Spring 中 Bean 的生命周期
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例
  • Linux网络编程【UDP网络通信demon】
  • 网页操作自动化解决方案:如何用Browser-Use+CPolar提升企业运营效率
  • React ahooks——副作用类hooks之useThrottleFn
  • 【智能体cooragent】新智能体创建相关代码解析
  • 双网卡UDP广播通信机制详解
  • 海洋大地测量基准与水下导航系列之九我国海洋PNT最新技术进展(下)
  • P13014 [GESP202506 五级] 最大公因数
  • 使用WSL2开发zephyr
  • 重型机械作业误伤预警响应时间缩短80%!陌讯多模态识别算法在工程现场的应用优化
  • 音频3A处理简介之AGC(自动增益控制)
  • RHCE认证题解
  • 自动驾驶中的传感器技术13——Camera(4)
  • 知识蒸馏 - 最小化KL散度与最小化交叉熵是完全等价的
  • stm32103如果不用32k晶振,那引脚是悬空还是接地
  • C++入门基础(三):const引用、指针和引用的关系、inline(修饰内联函数)替代宏、nullptr代替null
  • 使用docker运行vite项目
  • C++ vector底层实现与迭代器失效问题