CloudGuardian
CloudGuardian
> 应该还是 faq 里面说的那个问题,没有链接注册函数: > > * 编译添加完全链接:GCC: -Wl,--whole-archive MNN -Wl,--no-whole-archive 这个是对你的最终可执行文件添加。可以搜下 android 上面对应的完全链接 > 应该还是 faq 里面说的那个问题,没有链接注册函数: > > * 编译添加完全链接:GCC: -Wl,--whole-archive MNN -Wl,--no-whole-archive 这个是对你的最终可执行文件添加。可以搜下 android 上面对应的完全链接 请问中间这个MNN是指什么呢?
> 就是原先你的程序是 -l MNN > > 改成 -Wl,--whole-archive MNN -Wl,--no-whole-archive 我原先程序中没有-l MNN 🤣 我的Android.mk中的mnn库链接和编译选项如下: include $(CLEAR_VARS) LOCAL_MODULE := libmnn ifeq ($(TARGET_ARCH_ABI), arm64-v8a) LOCAL_SRC_FILES := $(LOCAL_MNN_LIB_PATH_EXT)/arm64-v8a/libMNN.a endif ifeq ($(TARGET_ARCH_ABI), armeabi-v7a) LOCAL_SRC_FILES...
> setCacheFile 是加快第二次 createSession 的,前后两次 createSession 的耗时对比是多少? 都是30多秒,没有变化😂
> cache 文件是否读取成功了? 第一次的时候会报一个err log  第二次的时候就没了 
> cache 文件是否读取成功了? 第二次读取的时候还是使用setCacheFile()吗?
> cache 文件是否读取成功了? 我试了一下,如果是小模型(500k)的话.cache是有收益的,但是原本的模型大约8M,基本没有收益
> 可能是 fp16 计算越界了,更新到 2.9.0 试下 precision = normal  2.9.0编译android有报错🤠
> 1. 加载时会做权重重排,后续的 resizeSession 时间就少了。 > 2. fp16 的模型目前需要先 fp16 -> fp32 再重排,如果开了 arm82 还需要再转 fp16 ,是当前加载最慢的。 > 3. 可以换用量化模型 (模型转换时加上 --weightQuantBits=8 --weightQuantBlock=64),并开启动态量化 (设置 memory = low),加载速度有优化,性能也可以提升 > > https://mnn-docs.readthedocs.io/en/latest/tools/compress.html...
> 1. 加载时会做权重重排,后续的 resizeSession 时间就少了。 > 2. fp16 的模型目前需要先 fp16 -> fp32 再重排,如果开了 arm82 还需要再转 fp16 ,是当前加载最慢的。 > 3. 可以换用量化模型 (模型转换时加上 --weightQuantBits=8 --weightQuantBlock=64),并开启动态量化 (设置 memory = low),加载速度有优化,性能也可以提升 > > https://mnn-docs.readthedocs.io/en/latest/tools/compress.html...