美文网首页
ncnn使用

ncnn使用

作者: 菜鸟瞎编 | 来源:发表于2018-12-21 17:29 被阅读0次

使用ncnn部署的模型需要满足:模型的输入及其他层的特征图要满足16字节对齐,width x height要能整除4。在搭建模型时需要注意这一点。否则会出现模型输出异常的情况,具体就是输出nan和-nan或者误差非常大,打印各层输出时会发现数组序号是乱的。

1、安装模型转换工具:https://github.com/Tencent/ncnn/wiki/how-to-build
2、编译Android端的ncnn库:参考https://github.com/moli232777144/mtcnn_ncnn中的tools/build_android.bat。下载ncnn源码 https://github.com/Tencent/ncnn, 修改build_android.bat中的文件路径,在shell中运行build_android.bat即可。
示例:

@echo off
%%修改ndk所在目录,15以上版本
set ANDROID_NDK=C:\android-sdk\ndk-bundle\ndk-bundle

cd ncnn-master
mkdir build_android
cd build_android
cmake -G "Unix Makefiles" -DANDROID_TOOLCHAIN=clang -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%\build\cmake\android.toolchain.cmake" ..\ -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-16 -DANDROID_NATIVE_API_LEVEL=16 ..
cmake --build .
cmake --build . --target install
cd ..
pause

关于OPENMP:
OPENMP会导致模型推理的速度不稳定,可以修改ncnn-master/CMakeLists.txt ,关闭OPENMP

option(NCNN_OPENMP "openmp support" OFF)

3、加载模型并进行推理:https://github.com/Tencent/ncnn/wiki/how-to-use-ncnn-with-alexnet
5、注意事项:https://github.com/Tencent/ncnn/wiki/FAQ-ncnn-produce-wrong-result
尤其要注意模型的输入及其他层的特征图要满足16字节对齐,width x height要能整除4。在搭建模型时需要注意这一点。

其他详见 https://github.com/Tencent/ncnn/wiki

相关文章

  • ncnn使用

    使用ncnn部署的模型需要满足:模型的输入及其他层的特征图要满足16字节对齐,width x height要能整除...

  • mxnet_convert_to_ncnn

    下载ncnn 下载ncnn:推荐使用git工具,不建议直接download zip,后续可能会出现.h与.cpp文...

  • Ubuntu16.04搭建ncnn

    最近被安排研究ncnn的效果,ncnn不能支持gpu加速。 先说一下具体环境,使用的是Ubuntu16.04 首先...

  • 腾讯云上编译安装ncnn

    服务器环境 ubuntu 20.04 更新系统 安装NCNN需要的依赖 下载NCNN 编译NCNN 安装NCNN

  • NCNN使用总结

    NCNN简介 ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部...

  • iOS 编译ncnn静态库

    ncnn官方在github上有编译好的静态库可以直接使用。但如果需要修改ncnn代码的话就只能自己编译了。 源码及...

  • iOS ncnn静态库冲突崩溃问题

    ncnn为腾讯开源算法,很多第三方都使用到了ncnn,但大家使用的版本可能都不一致。由于iOS静态库的特性,会导致...

  • NCNN-量化方案汇总

    NCNN量化之ncnn2table和ncnn2int8 一、ncnn2table生成量化表 1、首先准备工作,参考...

  • Ubuntu14.04安装使用ncnn

    ncnn是腾讯开源的一个针对手机端的cnn框架,本文介绍如何在Ubuntu14.04上安装并使用ncnn。 安装p...

  • Android集成NCNN实现

    ncnn简介 https://github.com/Tencent/ncnn ncnn 是一个为手机端极致优化的高...

网友评论

      本文标题:ncnn使用

      本文链接:https://www.haomeiwen.com/subject/xxjmkqtx.html