Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check failed: (idx < static_cast<int32_t>(BlocksSize())): 0!<0 idx >= blocks.size() #10569

Open
MoLanShao opened this issue Sep 21, 2024 · 5 comments
Assignees

Comments

@MoLanShao
Copy link

  • 标题:模型转换报错
  • 版本、环境信息:
       1)Paddle Lite 版本:v2.12
       2)Host 环境:Windows10 + Anaconda3
  • 模型信息
       1)模型名称 PaddleOCR
    2)模型链接 PaddleOCR.zip
  • 复现信息:OPT.py执行文件内容如下:
# 引用Paddlelite预测库
from paddlelite.lite import *

# 1. 创建opt实例
opt=Opt()
# 2. 指定输入模型地址 
#opt.set_model_dir("./Db")

opt.set_model_file("./Db/PaddLeOCR_Db.bin")
opt.set_param_file("./Db/PaddLeOCR_Db.param")

# 3. 指定转化类型: arm、x86、opencl、npu
opt.set_valid_places("arm")
# 4. 指定模型转化类型: naive_buffer、protobuf
opt.set_model_type("naive_buffer")
# 4. 输出模型地址
opt.set_optimize_out("./Output/det")
# 5. 执行模型优化
opt.run()
  • 问题描述:尝试将.bin和.param转换成.nb文件,报错如下错
...\lite\core\model\general\program_desc.cc:51 paddle::lite::general::ProgramDesc::GetBlock] Check failed: (idx < static_cast<int32_t>(BlocksSize())): 0!<0 idx >= blocks.size()
@iosmers
Copy link

iosmers commented Sep 23, 2024

看样子是模型加载和解析过程中的问题,通过BlocksSize()[https:/PaddlePaddle/Paddle-Lite/blob/9b53b4a39722bbf29bdf9b799c1ab9e28cd93e4d/lite/core/model/general/program_desc.cc#L51]获取的结果为0,这似乎不太符合预期,请问你.bin和.param文件是从哪里导出的

@MoLanShao
Copy link
Author

看样子是模型加载和解析过程中的问题,通过BlocksSize()[https:/PaddlePaddle/Paddle-Lite/blob/9b53b4a39722bbf29bdf9b799c1ab9e28cd93e4d/lite/core/model/general/program_desc.cc#L51]获取的结果为0,这似乎不太符合预期,请问你.bin和.param文件是从哪里导出的

这些文件是从一个安卓程序里的PaddleOCR库导出来的

@iosmers
Copy link

iosmers commented Sep 24, 2024

似乎是模型文件的问题,paddle模型文件应是.pdmodel格式, 而不是.bin格式,建议再确认一下模型正确性,https://www.paddlepaddle.org.cn/lite/develop/user_guides/model_visualization.html

@MoLanShao
Copy link
Author

似乎是模型文件的问题,paddle模型文件应是.pdmodel格式, 而不是.bin格式,建议再确认一下模型正确性,https://www.paddlepaddle.org.cn/lite/develop/user_guides/model_visualization.html

您可以在上面的模型信息里的模型链接里下载我所导出的模型文件,可以请您帮忙查看一下是什么类型的模型么?

@iosmers
Copy link

iosmers commented Sep 24, 2024

你的模型看起来是经过某种处理之后的格式,我不知道你是怎么处理的,理论上PaddleOCR本身导出的模型应该是pdmodel和pdiparams格式的文件,所以应该是PaddleOCR处理的结果不对,建议你先自查一下模型处理过程,或者在PaddleOCR官方repo寻找帮助,https:/PaddlePaddle/PaddleOCR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants