Open lshgw14 opened 2 months ago
cpu.cpp get_thread_siblings 返回错误
我本地测试,在mate60 pro鸿蒙next系统上,编译的时候需要关闭优化
export CXXFLAGS="-O0"
export CFLAGS="-O0"
并且开启使用vulkan,关闭fp16和bf16
net.opt.use_fp16_arithmetic = false;
net.opt.use_packing_layout = false;
net.opt.use_bf16_storage = false;
net.opt.use_vulkan_compute = true;
可以出来大体正确的结果,其他情况下,结果不对,而且耗时会特别高。
请问是怎么在鸿蒙next上实现ncnn的?可以分享一下教程或者工程源码吗?谢谢!
请问是怎么在鸿蒙next上实现ncnn的?可以分享一下教程或者工程源码吗?谢谢!
你看readme里有编译鸿蒙上用的so啊,直接编译出来放到鸿蒙中用就好了
请问是怎么在鸿蒙next上实现ncnn的?可以分享一下教程或者工程源码吗?谢谢!
你看readme里有编译鸿蒙上用的so啊,直接编译出来放到鸿蒙中用就好了
我是按照这个方法做的交叉编译,-DOHOS_STL=c++_static 、-DOHOS_STL=c++_shared 都试了,但是编译出来的是.a静态库文件,不是.sc动态库文件,请问你是怎么编译的?请帮忙po个链接,谢谢!另外问一下你是在linux还是Windows下编译的呢?
请问是怎么在鸿蒙next上实现ncnn的?可以分享一下教程或者工程源码吗?谢谢!
你看readme里有编译鸿蒙上用的so啊,直接编译出来放到鸿蒙中用就好了
我是按照这个方法做的交叉编译,-DOHOS_STL=c++_static 、-DOHOS_STL=c++_shared 都试了,但是编译出来的是.a静态库文件,不是.sc动态库文件,请问你是怎么编译的?请帮忙po个链接,谢谢!另外问一下你是在linux还是Windows下编译的呢?
额。。。老铁,-DOHOS_STL=c++_static 、-DOHOS_STL=c++_shared你这个链接的是C++的静态库还是C++的动态库啊。。。
我在本地起了个docker,跑的ubuntu20的,用下面这个脚步跑的,路径改成你自己本地的路径
mkdir build && cd build
export CMAKE_FILE_PATH=/home/leizh007/ohos-sdk-windows_linux-public/ohos-sdk/linux/native/build-tools/cmake/bin/cmake
export CMAKE_TOOLCHAIN_FILE_PATH=/home/leizh007/ohos-sdk-windows_linux-public/ohos-sdk/linux/native/build/cmake/ohos.toolchain.cmake
export CXXFLAGS="-O0"
export CFLAGS="-O0"
${CMAKE_FILE_PATH} -DBUILD_SHARED_LIBS=ON \
-DOHOS_STL=c++_shared \
-DOHOS_ARCH=arm64-v8a \
-DOHOS_PLATFORM=OHOS \
-DNCNN_SHARED_LIB=ON \
-DCMAKE_BUILD_TYPE=Release \
-DNCNN_VULKAN=ON \
-DNCNN_SIMPLEOMP=ON \
-DNCNN_OPENMP=ON \
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE_PATH} .. && make
DEST_DIR=/home/leizh007/ncnn_install
if [ -d ${DEST_DIR} ]; then
rm -rf ${DEST_DIR}
fi
make install DESTDIR=${DEST_DIR}
@leizh007 老铁,我这边把ncnn模型集成进去以后,在最新的IDE DevEco Studio NEXT Developer Beta3/5.0.3.600 上,debug模式下正常跑通了,然后切换到release模式下 ,模型推理失败了,表现为耗时几乎为0,不返回结果。
模式 | 耗时 |
---|---|
debug | 9.760 ms |
release | 0.029 ms |
关掉代码混淆以后也是这样子,大佬有遇到这种情况吗?
@leizh007 老铁,我这边把ncnn模型集成进去以后,在最新的IDE DevEco Studio NEXT Developer Beta3/5.0.3.600 上,debug模式下正常跑通了,然后切换到release模式下 ,模型推理失败了,表现为耗时几乎为0,不返回结果。
模式 耗时 debug 9.760 ms release 0.029 ms 关掉代码混淆以后也是这样子,大佬有遇到这种情况吗?
是这样的。。。我这也是这种现象。。。
@leizh007 老铁,我这边把ncnn模型集成进去以后,在最新的IDE DevEco Studio NEXT Developer Beta3/5.0.3.600 上,debug模式下正常跑通了,然后切换到release模式下 ,模型推理失败了,表现为耗时几乎为0,不返回结果。 模式 耗时 debug 9.760 ms release 0.029 ms 关掉代码混淆以后也是这样子,大佬有遇到这种情况吗?
是这样的。。。我这也是这种现象。。。
那这可就尴尬了,老铁。。本来已经在写交付文档了...
我在想,debug模式, ncnn_opt.use_fp16_arithmetic = false; 如果这个设置的话,我这边就会直接崩溃掉的。 那release模式下,是不是再去配置一些ncnn的参数,就有可能能规避这个问题.....
error log | 日志或报错信息 | ログ
context | 编译/运行环境 | バックグラウンド
1、在mate60pro上对比验证推理正确 2、目前通过两种方式进行排查: a.ncnn基础库在鸿蒙化后本身存在在鸿蒙内核个别测试用例不通过的情况,会显示具体的错误信息,根据错误日志定位到layer层(计算模块,其中包含ncnn的各类算法),但对于ncnn源码不是很了解,需要求助。 b.通过demo打印日志排查出安卓和matepro对比获取值的不同,定位到使用底层ncnn库的具体接口,以及对应的layer层,需求助;
how to reproduce | 复现步骤 | 再現方法
1. 2. 3.
more | 其他 | その他