Why should Repo:https://github.com/neopenx/dragon use Dragon?
No why, as a hacker, BVLC Caffe in the many design ills.
Then rewrite it and make a lot of adjustments to the architecture.
The advantages of Dragon 1, fast installation
Caffe's CMake scheme is quite low, and various kinds of library flying are also ills.
Dragon inherited the Caffe-windows 3rdparty approach, maintaining linux/windows synchronization installation,
To achieve a true cross-platform.
Well, you can kill me in 10 minutes.
2. Remove unnecessary libraries
Jia summarizes the design problems of Caffe1, one of the deadly areas is the use of too much 3rdparty.
such as Glog, gflags these two libraries, handwriting not more than 300 lines, meaningless.
In addition, after exporting to Python, glog conflicts with the output stream of the PY and requires real-time flush, and the bug is never fixed.
——————————————————————————————————————————
LMDB, Leveldb is also a rip, the serialization of the database is fast, but the data of I/O is obviously an excess of resources.
If you monitor Caffe's level Two IO scenario, you'll find that the thread is dormant most of the time.
In addition, the biggest criticism of serializing db is the inability to do shuffle, currently known shuffle can be crazy to escape the saddle point in the late training.
Deeplearning The most important thing is computing resources, so the two libraries are meaningless.
——————————————————————————————————————————
As for HDF5, in deeplearning Matlab is a joke, remove it is inevitable.
Caffe Model Zoo's ecological circle is also never exist HDF5.
3. Removal of Caffe source parallel scheme
Caffe Now the Parallell scheme is a joke, multi-GPU incredibly in use hierarchical tree structure to do parameter Update.
This allows the secondary GPU to be delayed for a long time before it can be brushed to the main GPU, and a better solution should be parameter Server.
Currently Dragon's parameter server scenario is still testing ing.
Because Caffe's source-parallel scheme is removed, the BVLC Caffe's foolish IO scheme can erase more than half code.
——————————————————————————————————————————
In addition, thanks to Indiana University's Mpi-caffe Equipment distributed solution, this is enough to amputated mxnet, TensorFlow first-class.
In the future, device distribution is very important, as integrated neural networks become larger, such as FASTER-RCNN's large branch.
It is a good idea to optimize the distribution of a single large neural network on multiple GPUs.
Many people are still in the hands of the 2x GTX980 can not run VGG16 and headache, this time, the MPI device distributed to help you dream come true.
Take a picture of the slot:
The future of Dragon 1, the introduction of symbolic interface
This project will be the author's undergraduate graduation design, the next version of the center of gravity will be the symbolic interface.
2. Deep learning framework will never monopolize
Schmidhuber Daniel in ICML2015 said:
The code that really runs the AI agent is very brief and even high school students can play it. In other words, there is no need to worry about an industry monopoly on AI and its research.
Any framework will have its drawbacks, and it is clear that the rewrite should be violently overturned. The meaning of opensource is exactly the same.
Dragon 0.1RC Release