轻量级神经网络平台tiny-dnn实践
tiny-dnn跑起来
github: https://github.com/tiny-dnn/tiny-dnn#build
先上github下载tiny-dnn的源码
这个深度学习框架可以在多平台运行,而且不依赖任何的库,是新人上手的好项目
但是这个项目本身不带makefile
如果想在ubuntu下面运行,需要先用跨平台的编译工具cmake来生成makefile文件
故我先安装一个cmake工具,去下面的官网下载
我下载的版本是 cmake-3.8.0-rc3.tar.gz
然后 tar -zxvf 这个命令来解压
解压之后有个文件bootstrap脚本文件,这个是安装必不可少的
然后运行以下命令安装cmake
$sudo ./bootstrap &&sudo make &&sudo make install
然后解压 tiny-dnn-master.zip
cd 到解压出来的目录下
现在开始选择所需要开启的一些外挂
主要是一些提高运行速度的并行库啥的,我现在第一遍跑,不打算打开这些加速外挂
我先把例子跑一跑 需要BUILD_EXAMPLES=ON ,BUILD_TESTS=ON
执行下面的命令进行cmake
$ cmake -BUILD_EXAMPLES=ON -BUILD_TESTS=ON .
然后在tiny-dnn-master文件夹下面会生成一个makefile文件啦
然后直接
$ make
接下来开始喝杯咖啡,稍等一会儿
这个时候你可以打开tiny-dnn-master文件夹下面的example文件夹,或者test文件夹,你会看见生成一个个的可执行文件
这样ubuntu下可以运行的可执行文件就准备好了
这个时候可以开始跑代码啦,先在线训练一个mnist数据集玩一玩(使用妙算的同学不建议跑这个,有可能三个小时就过去了,我是在台式机上跑的,花费约四、五分钟)
$ ./examples/example_mnist_train data
然后继续喝杯咖啡,小憩一会。
好的,训练结束,效果如图
准确率为99.1%
反正这是一个轻量级平台,效果相当不错啦.
现在我们开始识别吧
你需要搞一张手写体图片,像下面这样
4.bmp
将这张图片存在某个目录下,我是存放在example文件夹下面的
然后运行
$ ./examples/example_mnist_test examples/.bmp
结果如下
可以看出,4是准确识别出来了哦(4排名第一,7排名第二,1排名第三).
有什么问题我再更新吧,今天先到这里。
update -- 2017-3-30
for robomasters
轻量级神经网络平台tiny-dnn实践的更多相关文章
- 面向移动端的轻量级神经网络模型mobilenet、ShuffleNet
翻译: http://baijiahao.baidu.com/s?id=1565832713111936&wfr=spider&for=pc http://baijiahao.baid ...
- 如何基于TencentOS tiny,快速打造属于自己的IoT小应用?
导语 | 近日,云+社区技术沙龙“腾讯开源技术”圆满落幕.本次沙龙邀请了多位腾讯技术专家,围绕腾讯开源与众多开发者进行探讨,深度揭秘了腾讯开源项目TencentOS tiny.TubeMQ.Kona ...
- 搜索系统核心技术概述【1.5w字长文】
前排提示:本文为综述性文章,梳理搜索相关技术,如寻求前沿应用可简读或略过 搜索引擎介绍 搜索引擎(Search Engine),狭义来讲是基于软件技术开发的互联网数据查询系统,用户通过搜索引擎查询所需 ...
- GitHub 上 57 款最流行的开源深度学习项目
转载:https://www.oschina.net/news/79500/57-most-popular-deep-learning-project-at-github GitHub 上 57 款最 ...
- GitHub 上 57 款最流行的开源深度学习项目【转】
GitHub 上 57 款最流行的开源深度学习项目[转] 2017-02-19 20:09 334人阅读 评论(0) 收藏 举报 分类: deeplearning(28) from: https:// ...
- 华为云ModelArts图深度学习,学习知识还能考取微认证
作为人工智能最前沿的技术之一,图深度学习被公认是人工智能认识世界实现因果推理的关键,也是深度学习未来发展的方向.但深度学习对图数据模型的支持性差一直是众多研究者难以攻克的难点,因此图深度学习在实际生产 ...
- Atitit 语音识别的技术原理
Atitit 语音识别的技术原理 1.1. 语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),2 1.2. 模型目前,主流的大词汇量语音识别系统多 ...
- 《foreach循环示例》
//foreach测试 public class ForEachTest { public static void main(String[] args) { String[] books = {&q ...
- 如何给你的Android 安装文件(APK)瘦身
如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet 原作者:Cyril Mottier Android的apk文件越来 ...
随机推荐
- Dojo的on函数(以前的dojo.connect)
同jQuery的on函数: require(["esri/map", "dojo/on"], function(Map, on) { // ... on(my ...
- PAT (Basic Level) Practise (中文)-1039. 到底买不买(20)
PAT (Basic Level) Practise (中文)-1039. 到底买不买(20) http://www.patest.cn/contests/pat-b-practise/1039 小红 ...
- MarkdownPad 2 Pro 注册码
MarkdownPad 2 Pro 注册码 MarkdownPad 是 Windows 平台上一个功能完善的 Markdown 编辑器. 提供了语法高亮和方便的快捷键功能,给您最好的 Markdown ...
- 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口
一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...
- LLDB详解
LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能.平时用Xcode运行程序,实际走的都是LLDB.熟练使用LLDB,可以让你debug事半功倍 L ...
- CF #552 div3
A - Restoring Three Numbers CodeForces - 1154A Polycarp has guessed three positive integers aa, bb a ...
- 记一次header跨域与cookie共享
最近把左边的传统模式,换成了右边通过js直接调api拿数据并渲染,于是变出现了ajax的跨域问题:XMLHttpRequest cannot load http://api.abc.com/?s ...
- python数据类型之集合(set)和其常用方法
集合是一个无序的,不重复的数据组合 作用(集合的重点):1.去重,把一个列表变成集合就自动去重了2.关系测试,测试两组数据库之前的交集.差集.并集等关系 s = {1, 1, 2, 2, 3, 4, ...
- 在SCIKIT中做PCA 逆变换 -- 新旧特征转换
PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...
- nordic芯片开发——烧写方法记录
在开发nordic芯片的时候,分为存外设开发和结合softdevice开发,另外还有结合mbr的开发(这个暂时没有深究)在裸机开发的时候,sdk里面称为blank,把芯片的程序erase之后,直接下载 ...