diff --git a/docs/about_model/convert_model/index.html b/docs/about_model/convert_model/index.html index 0e3b8caf..c4b3d817 100644 --- a/docs/about_model/convert_model/index.html +++ b/docs/about_model/convert_model/index.html @@ -1371,7 +1371,7 @@

id: 8 , href: "\/RapidOCRDocs\/docs\/install_usage\/rapidocr_paddle\/", title: "[GPU端] rapidocr_paddle", - description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来推理速度,推理第一张时,需要预热。", + description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来测试推理速度,需要先推理一张作为预热,后续再看推理速度。", content: " 简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: " } ); @@ -1514,8 +1514,8 @@

id: 33 , href: "\/RapidOCRDocs\/docs\/faq\/", title: "常见问题 (FAQ)", - description: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", - content: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" + description: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", + content: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" } ); index.add( diff --git a/docs/about_model/model_summary/index.html b/docs/about_model/model_summary/index.html index 7467d49a..1639b1ed 100644 --- a/docs/about_model/model_summary/index.html +++ b/docs/about_model/model_summary/index.html @@ -965,20 +965,20 @@

指标说明 Exact Match (精确匹配准确率) + id="afedcbTab" data-bs-toggle="tab" data-bs-target="#afedcb" + type="button" role="tab" aria-controls="afedcb" aria-selected="true">Exact Match (精确匹配准确率) Char Match (字符级准确率) + id="abdcfeTab" data-bs-toggle="tab" data-bs-target="#abdcfe" + type="button" role="tab" aria-controls="abdcfe" aria-selected="true">Char Match (字符级准确率) Score(两者综合) + id="bacdefTab" data-bs-toggle="tab" data-bs-target="#bacdef" + type="button" role="tab" aria-controls="bacdef" aria-selected="true">Score(两者综合) @@ -994,7 +994,7 @@

指标说明 +

$$ Exact\ Match = \frac{1}{N}\sum_{i=0}^{N} s(p_{i}, g_{i}) @@ -1019,7 +1019,7 @@

指标说明 +

$$ Char\ Match = 1 - \frac{1}{N} \sum_{i=0}^{N} s(p_{i}, g_{i}) @@ -1047,7 +1047,7 @@

指标说明 +

$$ Score = \frac{1}{2}(Exact\ Match + Char\ Match) @@ -1714,7 +1714,7 @@

指标说明 指标说明 情 id: 8 , href: "\/RapidOCRDocs\/docs\/install_usage\/rapidocr_paddle\/", title: "[GPU端] rapidocr_paddle", - description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来推理速度,推理第一张时,需要预热。", + description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来测试推理速度,需要先推理一张作为预热,后续再看推理速度。", content: " 简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: " } ); @@ -1741,8 +1741,8 @@

情 id: 33 , href: "\/RapidOCRDocs\/docs\/faq\/", title: "常见问题 (FAQ)", - description: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", - content: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" + description: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", + content: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" } ); index.add( diff --git a/docs/blog/02_config_parameter/index.html b/docs/blog/02_config_parameter/index.html index 157b5d1c..2a951523 100644 --- a/docs/blog/02_config_parameter/index.html +++ b/docs/blog/02_config_parameter/index.html @@ -1610,7 +1610,7 @@

Rec部分 Rec部分 id: 8 , href: "\/RapidOCRDocs\/docs\/install_usage\/rapidocr_paddle\/", title: "[GPU端] rapidocr_paddle", - description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来推理速度,推理第一张时,需要预热。", + description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来测试推理速度,需要先推理一张作为预热,后续再看推理速度。", content: " 简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: " } ); @@ -1579,8 +1579,8 @@

id: 33 , href: "\/RapidOCRDocs\/docs\/faq\/", title: "常见问题 (FAQ)", - description: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", - content: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" + description: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", + content: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" } ); index.add( diff --git a/docs/blog/04_inference_summary/index.html b/docs/blog/04_inference_summary/index.html index e62c5600..e906641b 100644 --- a/docs/blog/04_inference_summary/index.html +++ b/docs/blog/04_inference_summary/index.html @@ -1422,7 +1422,7 @@

获取字典内容 获取字典内容 3. 使用该模型 3. 使用该模型 id: 8 , href: "\/RapidOCRDocs\/docs\/install_usage\/rapidocr_paddle\/", title: "[GPU端] rapidocr_paddle", - description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来推理速度,推理第一张时,需要预热。", + description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来测试推理速度,需要先推理一张作为预热,后续再看推理速度。", content: " 简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: " } ); @@ -1565,8 +1565,8 @@

id: 33 , href: "\/RapidOCRDocs\/docs\/faq\/", title: "常见问题 (FAQ)", - description: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", - content: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" + description: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", + content: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" } ); index.add( diff --git a/docs/business_support/index.html b/docs/business_support/index.html index 2b0e6328..036935c6 100644 --- a/docs/business_support/index.html +++ b/docs/business_support/index.html @@ -1361,7 +1361,7 @@

服务三:国产操作系 id: 8 , href: "\/RapidOCRDocs\/docs\/install_usage\/rapidocr_paddle\/", title: "[GPU端] rapidocr_paddle", - description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来推理速度,推理第一张时,需要预热。", + description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来测试推理速度,需要先推理一张作为预热,后续再看推理速度。", content: " 简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: " } ); @@ -1586,8 +1586,8 @@

服务三:国产操作系 id: 33 , href: "\/RapidOCRDocs\/docs\/faq\/", title: "常见问题 (FAQ)", - description: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", - content: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" + description: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", + content: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" } ); index.add( diff --git a/docs/changelog/index.html b/docs/changelog/index.html index ee9bf486..fdbbdeb9 100644 --- a/docs/changelog/index.html +++ b/docs/changelog/index.html @@ -1306,7 +1306,7 @@

id: 8 , href: "\/RapidOCRDocs\/docs\/install_usage\/rapidocr_paddle\/", title: "[GPU端] rapidocr_paddle", - description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来推理速度,推理第一张时,需要预热。", + description: "简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: link\n推理速度比较 link 相关测评代码,参见AI Studio,Fork可直接运行查看。不要只推理一张来测试推理速度,需要先推理一张作为预热,后续再看推理速度。", content: " 简介 linkrapidocr_paddle系列包是基于PaddlePaddle框架作为推理引擎的,支持CPU和GPU上推理。值得说明的是,这个包和PaddleOCR相比,代码基本都是一样的,只不过这个库将里面核心推理代码抽了出来,更加精简而已。\n推荐GPU上用这个,CPU端还是以rapidocr_onnxruntime和rapidocr_openvino为主。毕竟PaddlePaddle的CPU端还是比较重的。\n封装这个包的原因是为了弥补GPU端推理的空缺。因为面对成千上万的图像需要提取文字时,CPU端上推理速度还是较慢,不能满足需求。\n安装 link 根据自己需求,先安装PaddlePaddle框架(CPU/GPU),并验证,参见: 官方教程,注意验证是否安装成功: import paddle print(paddle.utils.run_check()) # 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。 安装rapidocr_paddle pip install rapidocr_paddle 使用 link CPU端推理 GPU端推理 前提是安装了CPU版的PaddlePaddle\nimport cv2 from rapidocr_paddle import RapidOCR engine = RapidOCR() image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) print(result) print(elapse_list) 前提是安装了GPU版的PaddlePaddle,注意在实例化RapidOCR类时,需要通过参数显式指定使用GPU。\nimport cv2 from rapidocr_paddle import RapidOCR # 注意这里的参数 engine = RapidOCR(det_use_cuda=True, cls_use_cuda=True, rec_use_cuda=True) image_path = \"tests/test_files/ch_en_num.jpg\" result, elapse_list = engine(image_path) 其他使用详情,同rapidocor_onnxruntime系列,参见: " } ); @@ -1531,8 +1531,8 @@

id: 33 , href: "\/RapidOCRDocs\/docs\/faq\/", title: "常见问题 (FAQ)", - description: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", - content: "Q: 为什么我的模型在GPU上比在CPU上还要慢? linkA: : 取决于所使用的执行提供者,它可能没有完全支持模型中的所有操作。回落到CPU操作可能会导致性能速度的下降。此外,即使一个操作是由CUDA execution provider实现的,由于性能的原因,它也不一定会把操作分配/放置到CUDA EP上。要想看到ORT决定的位置,请打开verbose日志并查看控制台的输出。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" + description: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。", + content: "Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢? linkA: : 因为OCR任务中输入图像Shape是动态的。每次GPU上都需要重新清空上一次不同Shape的缓存结果。如果输入图像Shape不变的情况下,ONNXRuntime GPU版一般都要比CPU快的。该问题已经提了相关issue(issue #13198)。推荐CPU端推理用rapidocr_onnxruntime或者rapidocr_openvino,GPU端用rapidocr_paddle。\nQ: 请问这个能在32位C#中用嘛? linkA: C#可以32位,要用32位的dll,但nuget上的onnxruntime不支持win7。\nQ: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組 linkA: 原因是Shapely库没有正确安装,如果是在Windows,可以在Shapely whl下载对应的whl包,离线安装即可;另外一种解决办法是用conda安装也可。\nQ: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory? linkA: 解决方法 有两个(来自群友ddeef):\n安装opencv-python-headless取代opencv-python; 运行sudo apt-get install -y libgl1-mesa-dev Q: 询问下,我编译出来的进程在win7下面通过cmd调用,发生了崩溃的情况? linkA: 不支持win7 (by @如果我有時光機)\nQ: 能不能搞个openmmlab类似的那个提取信息的? linkA: 这个目前正在调研测试当中,如果mmocr中关键信息提取效果还可以,后期会考虑整合进来。\nQ: RapidOCR和PaddleOCR是什么关系呢? linkA: RapidOCR是将PaddleOCR的预训练模型转为onnx模型,不依赖paddle框架,方便各个平台部署。\nQ: onnxruntime arm32 有人编译过吗? 我编译成功了,但是使用的时候libonnxruntime.so👎 error: file not recognized: File format not recognized 应该是版本不匹配 linkA: 没遇到过。我是直接在当前平台编译的,我们用的是arm。估计是平台不兼容,建议在本身平台上编译。没遇到过问题。通常出在交叉编译方式下。\nQ: 请问一下c++ demo必须要vs2017及以上版本吗? linkA: 最好用vs2019\nQ: 可以达到百度EasyEdge Free App的效果吗? linkA: edge的模型应该没有开源。百度开源的模型里server det的识别效果可以达到,但是模型比较大。\nQ: 我用c++推理onnx貌似是cpu推理的,gpu没有反应? linkA: 如果想用GPU的话,需要安装onnxruntime-gpu版,自己在onnxruntime的代码中添加EP (execution provider)。我们的定位是通用,只用cpu推理。\nQ: 您好,我想部署下咱们的ocr识别,有提供linux版本的ocr部署包吗? linkA: linux版本的自己编译即可, 可以参考我们的action中的脚本;其实编译非常容易,安装个opencv后,在cmakelists.txt中修改一下onnxruntime的路径即可,具体参考这个: https://github.com/RapidOCR/RapidOCR/blob/main/.github/workflows/make-linux.yml\nQ: onnxruntime编译好的C++库,哪里可以下载到? linkA: 从这里:https://github.com/RapidOCR/OnnxruntimeBuilder/releases/tag/1.7.0\nQ: 目前简单测试环境是 Win10 + Cygwin + gcc + 纯C编程,可以在C程序中直接接入简单OCR功能吗? linkA: 直接使用API就行,API就是由c导出的\nQ: 模型下载地址 linkA: 百度网盘 | Google Drive\nQ: onnxruntime 1.7 下出错:onnxruntime::SequentialExecutor::Execute] Non-zero status code returned while running ScatterND node. Name:‘ScatterND@1’ Status Message: updates linkA: 由于模型只支持onnxruntime=1.5.0导致,请更新模型,下载地址见Q3\nQ: 边缘总有一行文字无法识别,怎么办? linkA: 在 padding 参数中添加一个值 ,默认是0,你可以添加5或10, 甚至更大,直到能识别为止。注意不要添加过大,会浪费内存。\n" } ); index.add( diff --git a/docs/changelog/rapidocr/index.html b/docs/changelog/rapidocr/index.html index 14277617..1832738e 100644 --- a/docs/changelog/rapidocr/index.html +++ b/docs/changelog/rapidocr/index.html @@ -1624,7 +1624,7 @@

2021-03-24 udpate: 2021-03-24 udpate: 🍜2023-05-22 api update: 🍜2023-05-22 api update: 2023-10-23 v1.3.9 update: 2023-10-23 v1.3.9 update: 🏸2023-04-16 ocrweb v0.1.1 update: 🏸2023-04-16 ocrweb v0.1.1 update: (推荐) 加入QQ频道 (推荐) 加入QQ频道 +
  • Q: 为什么我的模型在ONNXRuntime GPU版上比在CPU上还要慢?
  • Q: 请问这个能在32位C#中用嘛?
  • Q: Windows系统下,装完环境之后,运行示例程序之后,报错OSError: [WinError 126] 找不到指定的模組
  • Q: Linux部署python的程序时,import cv2时会报ImportError: ligGL.so.1: cannot open shared object file: No such file or directory?
  • @@ -694,7 +694,7 @@