Dragon 0.1rc 发布

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的意义正是如此。

以上是关于Dragon 0.1rc 发布的主要内容,如果未能解决你的问题,请参考以下文章

Nuance Dragon Speech Sdk 集成到 Flutter 中?

如何在 heroku 上部署 django+swamp dragon 实时聊天应用程序?

电流采样rc滤波应用

SQL Server数据库mdf文件中了勒索病毒Dragon4444。扩展名变为Dragon4444

我下载了一款软件,dragon chrome,安装的时候出现错误提示,如图所示:

一曲Jambalaya和你庆端午Dragon Boat Festival