ncnn常见的错误以及解决办法

Posted 修炼之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ncnn常见的错误以及解决办法相关的知识,希望对你有一定的参考价值。

param is too old, please regenerate

这个问题的主要原因是因为模型(param)文件的格式太旧了导致的,通过从git上clone最新的ncnn代码,然后在build之后,通过模型转换工具将模型转换为param和bin文件,转换完成之后,请查看param文件的第一行是不是7767517

find_blob_index_by_name XYZ failed

这种错误通常是发生在Extractor::input()/extract(),通过blob name来获取网络中的某些层,首先应该检查提取的名称是否正确,通过param文件的data列来确定,是否能在param文件中找到。

如果你是采用的xxx.id.h文件的方式来加载模型,应该将blob name替换成头文件中的常量,这个后面我会详细介绍。

fopen XYZ.param/XYZ.bin failed

检查parambin文件的路径是否正确,检查这两个文件是否是可读的

network graph not ready

你应该首先调用Net::load_param()加载模型之后,再调用Net::load_model()加载模型的参数。如果这个没问题,请检查lo

以上是关于ncnn常见的错误以及解决办法的主要内容,如果未能解决你的问题,请参考以下文章