腾讯开源ncnn:示例程序运行
来源:互联网 发布:cs软件下载 编辑:程序博客网 时间:2024/06/05 14:35
本博记录为卤煮使用时的记录,属于事后回忆记录,如有疏漏,请指正。
卤煮:非文艺小燕儿
本博地址:ncnn:示例程序运行
感谢开源共享的各位大牛们,让我们能够站在巨人的肩膀上前行。ncnn git:https://github.com/Tencent/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 模型
- 支持直接内存零拷贝引用加载网络模型
- 可注册自定义层实现并扩展
- 恩,很强就是了,不怕被塞卷 QvQ
以上是ncnn git上的介绍。接下来介绍如何跑example。
我直接下载的该项目,然而在我windows10+vs2013电脑上出现一些,莫名其妙的问题,没能编译。然后在issue里找到了这个:
https://github.com/guozhongluo/ncnn-vs2015-examples-demo
这个工程时VS2015的(接下来会讲如何用vs2013运行),需要配置opencv。
下载这个代码后,首先要对工程进行配置。
(1)配置为Release x64工程
(2)包含目录:
需要配置ncnn中的include文件和opencv的include文件
(3)库目录:
配置依赖的opencv lib的存放路径,我直接放在release中了,所以配置如下
(3)连接器输入
这个根据你的opencv版本确定后面的数字,我的是V2410,所以如下
(4)把你连接器输入配置的lib文件以及对应的dll放置在配置的库目录下(一定要使用与x64 release匹配的库文件)
(5)把运行需要的模型文件放置到运行目录下(release目录),下面黑色框中是模型文件,红色框是依赖的库文件,蓝色的框是运行需要的测试图像文件(随便从网上下载的)
OK,配置完了,可以项目生成试试了,如果你不是vs2015,一定没法生成,如果是vs2013可以按照以下博客进行修改配置,
vs2015解决方案在vs2013下运行方法
配置完成后,重新生成,生成时,我这里又报了很多错误,筛选了以下,基本都是关于
net.h中#if NCNN_STRING
和mat_pixel.cpp中std::min std::max相关的问题。
我的解决方案是:
(1)定义类似宏NCNN_STRING的文件platform.h中宏定义改为以下(就是把true改为了1),解决了第一个类型的错误:
#ifndef NCNN_PLATFORM_H
#define NCNN_PLATFORM_H
#define NCNN_STDIO 1//true
#define NCNN_STRING 1//true
#define NCNN_OPENCV 1//true
#endif // NCNN_PLATFORM_H
#define NCNN_PLATFORM_H
#define NCNN_STDIO 1//true
#define NCNN_STRING 1//true
#define NCNN_OPENCV 1//true
#endif // NCNN_PLATFORM_H
(2)mat_pixel.cpp中,include后加using namespace std,然后将所有std::min std::max换成min和max。
修改后继续重新生成,生成成功,没有问题了。
从网上下载了一个cat和dog的图片,放置在x64/release路径下
双击ncnn.exe运行,运行结果
图片左上角显示分类结果
波斯喵
run time:0.47100(windows7 i5-6500CPU)
猎狐汪
好啦,大功初成。
大家尝试运行的时候可能还会出现其他问题,不过仔细判断,一个个都能解决的。祝顺利。
阅读全文
2 0
- 腾讯开源ncnn:示例程序运行
- 腾讯开源ncnn:Ubuntu下运行示例
- 腾讯开源ncnn:自己的模型运行结果与caffe的结果不一样
- 腾讯开源ncnn:caffemodel转化为.param和.bin文件
- 腾讯优图开源项目ncnn
- 程序唯一示例运行
- Ubuntu16.04---腾讯NCNN框架入门到应用
- 运行Hadoop示例程序WordCount
- 腾讯优图开源深度学习框架ncnn,主打手机端,同类cpu框架最快
- 腾讯优图NCNN框架在windows下的vs2013配置
- Command 程序示例,可以带参数运行
- mfc,示例 ctrlbars 程序运行流程分析
- Hadoop示例程序WordCount运行及详解
- iPhone开发--运行Three20的示例程序
- Hadoop示例程序WordCount编译运行
- 懒人服务器 - 教程一、运行示例程序
- Hadoop-1.2.1示例程序wordcount运行
- NotePad++编译运行C程序的示例
- Hadoop "Cannot create directory .Name node is in safe mode."解决方案
- 如何搭建禅道bug管理环境
- 欢迎使用CSDN-markdown编辑器
- es6 Decorator(十六)
- 使用链表解决约瑟夫环的问题
- 腾讯开源ncnn:示例程序运行
- mysql中常用的语句
- codeblocks default.conf 的原始备份,忘记备份可以复制以下下代码
- 驱动开发文章二
- Android:RxJava
- 视频格式与编解码方式的关系
- 如何将GPT分区转为MBR分区
- Convolutional LSTM Network学习笔记
- React-Native 组件之 Modal