美文网首页深度学习
44.现有移动端开源框架及其特点——NCNN

44.现有移动端开源框架及其特点——NCNN

作者: 大勇任卷舒 | 来源:发表于2023-04-03 10:47 被阅读0次

44.1 特点

  • NCNN考虑了手机端的硬件和系统差异以及调用方式,架构设计以手机端运行为主要原则。
  • 无第三方依赖,跨平台,手机端 CPU 的速度快于目前所有已知的开源框架(以开源时间为参照对象)。
  • 基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP。

44.2 功能

  • NCNN支持卷积神经网络、多分支多输入的复杂网络结构,如vgg、googlenet、resnet、squeezenet 等。
  • NCNN无需依赖任何第三方库。
  • NCNN全部使用C/C++实现,以及跨平台的cmake编译系统,可轻松移植到其他系统和设备上。
  • 汇编级优化,计算速度极快。使用ARM NEON指令集实现卷积层,全连接层,池化层等大部分 CNN 关键层。
  • 精细的数据结构设计,没有采用需消耗大量内存的通常框架——im2col + 矩阵乘法,使得内存占用极低。
  • 支持多核并行计算,优化CPU调度。
  • 整体库体积小于500K,可精简到小于300K。
  • 可扩展的模型设计,支持8bit 量化和半精度浮点存储。
  • 支持直接内存引用加载网络模型。
  • 可注册自定义层实现并扩展。

44.3 NCNN在Android端部署示例

  • 选择合适的Android Studio版本并安装。
  • 根据需求选择NDK版本并安装。
  • 在Android Studio上配置NDK的环境变量。
  • 根据自己需要编译NCNN sdk
mkdir build-android cd build-android cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \ -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON \ -DANDROID_PLATFORM=android-14 .. make make install
  • 安装完成之后,install下有include和lib两个文件夹。
    • 备注:
ANDROID_ABI 是架构名字,"armeabi-v7a" 支持绝大部分手机硬件 
ANDROID_ARM_NEON 是否使用 NEON 指令集,设为 ON 支持绝大部分手机硬件 
ANDROID_PLATFORM 指定最低系统版本,"android-14" 就是 android-4.0
  • 进行NDK开发。
1)assets文件夹下放置你的bin和param文件。
2)jni文件夹下放置你的cpp和mk文件。
3)修改你的app gradle文件。
4)配置Android.mk和Application.mk文件。
5)进行java接口的编写。
6)读取拷贝bin和param文件(有些则是pb文件,根据实际情况)。
7)进行模型的初始化和执行预测等操作。
8)build。
9)cd到src/main/jni目录下,执行ndk-build,生成.so文件。
10)接着就可写自己的操作处理需求。

大数据视频推荐:
网易云课堂
CSDN
人工智能算法竞赛实战
AIops智能运维机器学习算法实战
ELK7 stack开发运维实战
PySpark机器学习从入门到精通
AIOps智能运维实战
腾讯课堂
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

相关文章

  • Ubuntu14.04安装使用ncnn

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

  • OpenMP并行编程

    目前很多移动端的深度学习前向运算框架都用到openmp,如ncnn、paddlelite、mace等。所以这篇来介...

  • mac 配置appium环境

    appium是移动端的一个开源测试框架,由于跨平台、支持多语言等特点,使其在移动端自动化领域不断地发展壮大。以...

  • NCNN使用总结

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

  • NCNN

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

  • Pytorch转ncnn

    pytorch模型转ncnn ncnn是腾讯公司发布的一款深度学习框架,ncnn 是一个为手机端极致优化的高性能神...

  • 关于ncnn的运行环境安装

    ncnn是一个为手机端极致优化的高性能神经网络前向计算框架。 其开源代码网址为https://github.com...

  • appium(二) 简介

    appium 简介 appium 是开源的移动端自动化测试框架; appium 可以测试原生的、混合的、以及移动端...

  • 移动端神经网络部署框架ncnn

    https://github.com/Tencent/ncnn ncnn与tensorflow lite相比有什么...

  • 豆瓣的混合开发框架Rexxar开源

    第93期:豆瓣的混合开发框架Rexxar开源 深度讨论 豆瓣的混合开发框架Rexxar开源 一个针对移动端的混合开...

网友评论

    本文标题:44.现有移动端开源框架及其特点——NCNN

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