Dragon 0.1rc 发布

Repo:https://github.com/neopenx/Dragon

为什么要使用Dragon?

没有为什么,作为一个Hacker,看不惯BVLC Caffe中的诸多设计弊病。

然后就推翻重写了,在架构上做了诸多调整。

Dragon的优势

1、安装快

Caffe的cmake方案相当的low,各种库乱飞也是弊病。

Dragon继承了Caffe-Windows的3rdparty方案做法,保持了Linux/Windows的同步Installation,

做到了真正的跨平台。

福利就是,十分钟装不好你可以打死我。

2、移除不必要的库

Jia总结了Caffe1的设计问题,其中一个致命的地方就是使用了太多3rdparty。

诸如Glog、GFlags这两个库,手写不超过300行,毫无意义。

另,Glog导出至Python后与PY的输出流冲突,需要实时flush,这个bug估计是永远不会修正了。

——————————————————————————————————————————

LMDB、LevelDB也是扯蛋,序列化数据库快是快,但是Data的I/O上明显是资源过剩了。

如果你监测下Caffe的二级IO方案,就会发现线程大部分时间在休眠。

另外,序列化DB的最大诟病在于无法做shuffle,目前已知shuffle可以在训练后期疯狂逃逸鞍点。

DeepLearning最不缺的就是计算资源,所以这俩库也是毫无意义。

——————————————————————————————————————————

至于HDF5,在DeepLearning里出现MATLAB就是一个笑话,移除它是必然的。

Caffe Model Zoo的生态圈里也是永远不存在HDF5的。

3、移除Caffe源生并行方案

Caffe现在的Parallell方案就是一个笑话,多GPU居然在使用层次树结构做Parameter Update。

这样会让次GPU延迟许久才能刷到主GPU,更好的方案应该是Parameter Server。

目前Dragon的Parameter Server方案还在测试ing。

因为Caffe的源生并行方案移除,目前BVLC Caffe那愚蠢的IO方案可以删掉一大半代码。

——————————————————————————————————————————

另外,非常感谢印第安纳大学的MPI-Caffe设备分布式方案,这点足以吊打MXNet、TensorFlow一流了。

在未来,设备分布式相当重要,随着集成式神经网络越来越庞大,比如Faster-RCNN那庞大的分支。

将单个庞大神经网络优化分布到多GPU上是个不错的主意。

许多人目前还在为手里的2x GTX980跑不了VGG16而头疼不已,这时候,MPI设备分布式帮您美梦成真。

来张吐槽图:

Dragon的未来

1、符号接口的引入

本项目将作为作者的本科毕业设计,接下来的版本重心将是符号接口。

2、深度学习框架永远不会垄断

Schmidhuber大牛在ICML2015时说过:

真正运行AI代理的代码是非常简短的,甚至高中生都能玩转它。换句话说,不用有任何担心会有行业垄断AI及其研究。

任意的框架都会有其弊病,此时显然应该暴力推翻重写。OpenSource的意义正是如此。

时间: 2024-10-14 07:44:45

Dragon 0.1rc 发布的相关文章

WordPress版微信小程序2.2.0版发布

2017年8月12日WordPress版微信小程序2.2.0版通过了微信的审核正式发布,此版本的更新以完善功能为主.主要更新的功能是:站内链接,猜你喜欢,热点文章. WordPress版微信小程序开放源码地址:https://github.com/iamxjb/winxin-app-watch-life.net 了解程序的开发历程及开发技术,建议看看相关版本的更新文章: 1.用微信小程序连接WordPress网站 2.WordPress版微信小程序1.5版本发布 3.WordPress版微信小程

ShareSDK for iOS 2.9.0已经发布

ShareSDK for iOS v2.9.0已经发布,本次更新内容包括: 1.修复Facebook获取用户信息报错问题 2.修复Instagram在iPad上显示分享菜单错误问题,需要指定菜单容器. 3.修复人人网分享不能在手机客户端显示问题. 4.增加明道.Line.WhatsApp平台分享. 5.修复iPhone越狱设备安装handyPhone插件时崩溃问题. 新版本SDK下载地址: http://sharesdk.cn/Download/ Wiki已经完成更新,地址为: http://w

IIS7.0下发布ASP程序报错

操作系统:Windows server 2008 X64 Web: IIS 7.0 任务: 发布Asp程序 首先,要通过OS自带的服务器管理器-->角色-->添加角色-->Web服务器(IIS),选中相对应的选项安装.Win8自带了程序包,比先前系统更方便.在这里安装过程省略了,重点还是解决发布ASP程序的过程中遇到的问题. 其次,发布ASP程序时注意的几个事项: 1)    新建网站时会自动建立相对应的应用程序池,可是先前IIS版是没有这个自动功能的. 2)    应用程序池-->

Spring Session 1.3.0 M2 发布

Spring Session 1.3.0 M2 发布了,本次发布主要更新如下: 首个支持Hazelcast的类(基础教程qkxue.net) Spring Security并发会话管理的首个类 使用GenericJackson2JsonRedisSerializer的Redis例子 spring.session.cleanup.cron.expression 可用于覆盖清理任务的cron表达式 大量的性能提升和Bug修复(腾云科技ty300.com) 下载地址: http://projects.

Mybatis分页插件2.0版本发布

项目地址:http://git.oschina.net/free/Mybatis_PageHelper 分页插件示例: http://blog.csdn.net/isea533/article/details/24700339 v2.0更新内容: 支持Mybatis缓存,count和分页同时支持(二者同步) 修改拦截器签名,拦截Executor,签名如下: @Intercepts(@Signature(type = Executor.class, method = "query", a

Linux Kernel 4.0 RC1 发布!

Linux Kernel 4.0 RC1 发布,Linus 发表声明说,基于现代的标准,从实际技术方面来说,这只是一个小的更新版本,4.0 并没有什么重大的意义,只是顺势而为,没有重大的新特性,也没有兼容性方面的改变. Linus 认为大家可能都在憧憬 4.1.15 版本,因为"电影<终结者>中机器人T-800使用的天网内核版本号".Kernel 4.0一个重要特性是Live Patching--不用重启为内核打补丁的机制. Linux Kernel 4.0 RC1 现有大

Spark 1.0.0版本发布

前言 今天Spark终于跨出了里程碑的一步,1.0.0版本的发布标志着Spark已经进入1.0时代.1.0.0版本不仅加入了很多新特性,并且提供了更好的API支持.Spark SQL作为一个新的组件加入,支持在Spark上存储和操作结构化的数据.已有的标准库比如ML.Streaming和GraphX也得到了很大程度上的增强,对Spark和Python的接口也变得更稳定.以下是几个主要的改进点: 融合YARN的安全机制 Hadoop有着自己的安全机制,包括认证和授权.Spark现在可以和Hadoo

【Andorid】拍摄SDK——VCamera 1.0 测试版发布

下载地址 http://paikeimg.video.sina.com.cn/download/VCamera_SDK_Android_1.0.zip 虽然是测试版,但底层库和线上秒拍是用的同一个库,比较稳定,欢迎使用! [Andorid]拍摄SDK--VCamera 1.0 测试版发布,布布扣,bubuko.com

Node.js v6.6.0 (Current) 发布,大幅度更新

Node.js v6.6.0 (Current) 发布了,Node.js 是一套用来编写高性能网络服务器的 JavaScript 工具包(入门教程qkxue.net),本次更新如下: Notable changes crypto: Added crypto.timingSafeEqual(). (not-an-aardvark) #8304events: Made the "max event listeners" memory leak warning more accessible