首页 Paddle Lite 帖子详情
OCRv3 在x86 linux 出错double free or corruption (!prev)
收藏
快速回复
Paddle Lite 问答部署 220 2
OCRv3 在x86 linux 出错double free or corruption (!prev)
收藏
快速回复
Paddle Lite 问答部署 220 2

你好,我在官网下载PP-OCRV3的模型,通过paddlelite-2.12版本的opt工作转换nb模型,arm版本的运行没有问题,但是在x86版本下,运行det没事,运行到rec时,识别第一行没问题,识别第二行就出现double free or corruption (!prev)错误,图像采用的是官网的测试图片,代码参考的是paddlite-demo-develop中的ocr,请问是怎么回事

0
收藏
回复
全部评论(2)
时间顺序
宇宙物语
#2 回复于2023-09

试着问了一下文心,它说:

"double free or corruption (!prev)" 错误通常是由于内存管理问题引起的,可能是在释放已经释放的内存块或者写入已经写入的内存块时发生的

针对你的问题,以下是一些可能的解决步骤:

检查内存管理:请确保你在释放内存之前没有再次使用它,也没有提前释放它你需要确保所有的分配和释放的内存都在正确的地方并且数量正确
查找和修复bug:使用一些工具如 Valgrind,它可以帮助你定位到引起问题的具体位置Valgrind 会提供内存泄漏的具体位置,和不正确释放内存的调用栈
确认模型适用性:虽然 PP-OCRV3 声称支持 x86 版本,但有时某些模型在某些架构上可能存在问题确保检查模型是否适用于你的架构,并查看是否有相关的更新或修复
更新 PaddleLite 和依赖项:你使用的 PaddleLite 版本是 2.12,可能有些旧版本的 bug 已经在新版本中修复尝试更新到最新版本的 PaddleLite,并确保所有的依赖项也是最新的
使用同样的输入:你提到官网的测试图片,确认你在测试时使用的是同样的图片和输入如果可能的话,尝试使用其他的输入图像
模型转换问题:你是从 paddlelite-2.12 版本进行模型转换的,也许在转换过程中出现了问题尝试将你的模型转换到其他版本的 PaddleLite 并查看是否存在相同的问题
请注意,这只是一个初步的诊断和建议,并不一定能够解决你的问题由于我无法访问你的具体代码和环境,因此这些步骤可能需要进行一些调整和修改才能适用于你的情况如果问题仍然存在,你可能需要详细地检查你的代码,或者寻求更具体的帮助

0
回复
李琴在努力工作
#3 回复于2023-10

hfklyutyj

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户