Closed mrbrantofgithub closed 6 years ago
ndk-build 更新后,模型文件也需要更新为 github 上最新的,在 exampls 里有
谢谢!我换了模型文件之后确实正常了!不过我看Android studio提示更新NDK,我就更新了变成了最新的NDK,然后“cmake 打包 android sdk”就不能正常编译生成libncnn.a文件了,报错 “Android/Sdk/ndk-bundle/platforms/android-14/arch-arm/usr/include/android/api-level.h” 我看了下usr文件夹下面只有一个“lib”文件夹,里面都是.a和.so和.o文件。你们可能需要更新一下文档了!
@mrbrantofgithub 你用ndk-build获得.so文件是能够用的么,为什么我编译的.so 每次都不能用,结果都是显示为0,就算是从官网拿来的模型文件,..so文件还是不能用?
@sunbinbin1991 我从examples中拿到的squeezenet_v1.1.param.bin文件,然后就正常了,我没有自己试一下caffe转的模型能不能用
我换成example里面最新的squeezenet_v1.1.param 还是会出现这个问题
无论什么图片识别的结果都是“tench, Tinca tinca = 0.000”
@leeqiaogithub 先看一下你的模型是否能够成功加载?Jni里面有一个init初始化的log,看一下有没有
@sunbinbin1991 load_param 以及load_model返回ret值均为0
@leeqiaogithub 请问你的问题解决了吗?我遇到了一样的问题,从内存加载模型,返回值一直是0,模型的输出的维度也是0
@zhangscth 1.你可以试试其他的模型加载方式,确保模型加载没问题;2.需要确认下你所下载版本ncnn依赖的ndk版本是否和官网提供的一致,编译ncnn库的ndk版本和ASndk版本等均需要保持一致。
@leeqiaogithub 谢谢回复,我目前因为各种原因只能从内存读取模型,而且我没有编译库,而是直接官方的demo 代码和库,所以不知道问题出在哪里,ndk版本使用的是r16b
@zhangscth ncnn各版本依赖的ndk貌似版本不同,我用的20180730的ncnn,依赖的是ndkr15,你需要保证几个地方的版本一致
@leeqiaogithub 我知道了,ncnn从内存读取模型只能读取.param.bin, 不能读取.param,否则会出错
我下载demo运行没有问题,然后按照编译文档“cmake 打包 android sdk”编译之后,其中“android-8”被我改成了“android-14”,再用ndk-build生成libsqueezencnn.so之后,无论输入的图片是什么,输出结果都是“tench, Tinca tinca = 0.000”