RapidAI/paddleocr_convert:PaddleOCR中模型快速转换为ONNX格式

1|0RapidAI/paddleocr_convert

PyPI paddleocr_convert documentation

  • 仓库地址:Github
  • 本仓库主要是针对性地将PaddleOCR中推理模型转换为ONNX格式。
  • 注意
    • 输入:推理模型的url或者本地tar路径
    • 输出:转换后的ONNX模型
    • 如果是识别模型,需要提供对应字典的原始txt路径(打开github中txt文件,点击右上角raw之后的路径),用来将字典写入到onnx模型中
    • !!!需要搭配RapidOCR中相关推理代码使用

1|1使用步骤

  1. 安装paddleocr_convert

    pip install paddleocr_convert
  2. 命令行使用

    • 用法:
      $ paddleocr_convert -h usage: paddleocr_convert [-h] [-p MODEL_PATH] [-o SAVE_DIR] [-txt_path TXT_PATH] optional arguments: -h, --help show this help message and exit -p MODEL_PATH, --model_path MODEL_PATH The inference model url or local path of paddleocr. e.g. https://paddleocr.bj.bcebos.com/PP- OCRv3/chinese/ch_PP-OCRv3_det_infer.tar or models/ch_PP-OCRv3_det_infer.tar -o SAVE_DIR, --save_dir SAVE_DIR The directory of saving the model. -txt_path TXT_PATH, --txt_path TXT_PATH The raw txt url or local txt path, if the model is recognition model.
    • 示例:
      # online $ paddleocr_convert -p https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar \ -o models $ paddleocr_convert -p https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar \ -o models \ -txt_path https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.6/ppocr/utils/ppocr_keys_v1.txt # offline $ paddleocr_convert -p models/ch_PP-OCRv3_det_infer.tar \ -o models $ paddleocr_convert -p models/ch_PP-OCRv3_rec_infer.tar \ -o models \ -txt_path models/ppocr_keys_v1.txt
  3. 脚本使用

    from paddleocr_convert import PaddleOCRModelConvert converter = PaddleOCRModelConvert() save_dir = 'models' # online url = 'https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar' txt_url = 'https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.6/ppocr/utils/ppocr_keys_v1.txt' converter(url, save_dir, txt_path=txt_url) # offline model_path = 'models/ch_PP-OCRv3_rec_infer.tar' txt_path = 'models/ppocr_keys_v1.txt' converter(model_path, save_dir, txt_path=txt_path)
  4. 使用模型方法:

    • 假设要用日文识别模型,且已经转好,路径为local/models/japan.onnx
    1. 安装rapidocr_onnxruntime
      pip install rapidocr_onnxruntime
    2. 脚本使用
      from rapidocr_onnxruntime import RapidOCR model_path = 'local/models/japan.onnx' engine = RapidOCR(rec_model_path=model_path) img = '1.jpg' result, elapse = engine(img)
    3. 命令行使用
      $ rapidocr_onnxruntime -img 1.jpg --rec_model_path local/models/japan.onnx

1|2更新日志

  • 2023-03-05 v0.0.4~7 update:

    • 支持对本地的模型和字典转写
    • 优化内部逻辑和错误反馈
  • 2023-02-28 v0.0.3 update:

    • 添加对不是动态输入的模型自动更改为动态输入的设置
  • 2023-02-27 v0.0.2 update:

    • 将转换模型代码封装成包,便于自助转模型
  • 2022-08-15 v0.0.1 update:

    • 将识别模型的字典写入到onnx模型中的meta中,便于后续分发。

__EOF__

本文作者Danno
本文链接https://www.cnblogs.com/shiwanghualuo/p/17239969.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Danno  阅读(452)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
点击右上角即可分享
微信分享提示