ncnn编译使用(一)

ncnn前向框架简介

以下介绍来自官网介绍
ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。

功能概述

  • 支持卷积神经网络,支持多输入和多分支结构,可计算部分分支
  • 无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架
  • 纯 C++ 实现,跨平台,支持 android ios 等
  • ARM NEON 汇编级良心优化,计算速度极快
  • 精细的内存管理和数据结构设计,内存占用极低
  • 支持多核并行计算加速,ARM big.LITTLE cpu 调度优化
    -整体库体积小于 500K,并可轻松精简到小于 300K
  • 可扩展的模型设计,支持 8bit 量化和半精度浮点存储,可导入 caffe 模型
  • 支持直接内存零拷贝引用加载网络模型
  • 可注册自定义层实现并扩展

安装

下载源码完成编译

git clone https://github.com/Tencent/ncnn
cd ncnn
mkdir build
cd build
cmake ..
make -j
make install

测试

这里我们测试Alexnet进行分类。模型下载地址:https://dl.caffe.berkeleyvision.org/bvlc_alexnet.caffemodel
由于alexnet是用老版caffe训练完成的,参数保存不一致,为了提升到现有的caffe版本,使用下面命令:

~/caffe/build/tools/upgrade_net_proto_text deploy.prototxt new_deplpy.prototxt
~/caffe/build/tools/upgrade_net_proto_binary bvlc_alexnet.caffemodel new_bvlc_alexnet.caffemodel

之后将caffe模型转换为ncnn的模型:

./caffe2ncnn ../../examples/alexnet/deploy.prototxt ../../examples/alexnet/bvlc_alexnet.caffemodel ../../examples/alexnet/alexnet.param alexnet.bin

编写测试代码如下:


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值