MyMonsterCat / RapidOcr-Java

🔥🔥🔥Java代码实现调用RapidOCR(基于PaddleOCR),适配Mac、Win、Linux,支持最新PP-OCRv4
Apache License 2.0
246 stars 35 forks source link

内存报错 #61

Closed xu8117 closed 1 month ago

xu8117 commented 1 month ago

image [E:onnxruntime:, sequential_executor.cc:494 onnxruntime::ExecuteKernel] Non-zero status code returned while running Mul node. Name:'p2o.Mul.6' Status Message: D:\a\OnnxruntimeBuilder\OnnxruntimeBuilder\onnxruntime-v1.14.0\onnxruntime\core\framework\bfc_arena.cc:368 onnxruntime::BFCArena::AllocateRawInternal Failed to allocate memory for requested buffer of size 4432855040 单测时没问题,连续进行多张图片的识别就会报错

MyMonsterCat commented 1 month ago

llocateRawInternal Failed to allocate memory for requested buffer of size 4432855040 你的图片太大了,三种方式 1.压缩图片再识别 2.裁剪图片再识别 3.修改c部分的源码,分配内存调大一点,重新打包动态库

xu8117 commented 1 month ago

单张图片也没那么大,主要问题是连续识别就会报错,底层逻辑是不是会先放到缓冲区后批量处理。

MyMonsterCat commented 1 month ago

c部分的代码在此处:https://github.com/RapidAI/RapidOcrOnnx/blob/main/src/OcrLiteJni.cpp 看了一下,有部分资源没有及时释放,可能导致了内存泄漏,目前能想到的优化点

xu8117 commented 1 month ago

感谢回复,我对c语言不太熟悉,看样子得等熟悉c语言的朋友来处理了