Dragon: A Light Deep Learning Framework
Specifics !
-
Light 3rdparty: Protobuf / Boost and Install Within 10 Minutes
-
CaffeModels Support
-
Distributed Architectures Support
- Device Parallelism: Use muti-GPUs to run a huge Neural Network(e.g. Res-Net)

- Data Parallelism: Update several Neural Networks with a ParameterServer
- Python Parallelism: Be compatible with Python
-
Symbols Support (in development)
-
Cross Platforms (Linux / Windows) and United Deployment

How to Install ?
Requirements
- CUDA
- Anaconda [Optional]
- Microsoft MPI / OpenMPI [Optional]
Installation
-
clone this repository
-
download and install CUDA
- we recommend install CUDA8 or higher to support GCC5/VS2015
-
download 3rdparty.zip and unzip to any path
-
install Anaconda with x64-py2.7 [Optional]
- allow importing environment variable into bashrc (Linux) / PATH (Windows)
- install protobuf
pip install protobuf
-
configure Dragon/CMakeLists.txt
- select optional libraries [PYTHON / MPI / CUDA_AWARE_MPI]
- set 3rdparty path
- set python path [Optional]
- set cuda compiling architectures if necessary
-
set environment variables
-
install MPI [Optional]
- Linux:
- we use OpenMPI which support “cuda-aware-mpi”
- see more:
- configure 3rdparty/setup_mpi.sh
- disable cuda-aware support if necessary
- run 3rdparty/setup_mpi.sh
sudo ./setup_mpi.sh
- Windows:
- we use Microsoft MPI which can perfectly run at lastest Windows10
- Microsoft MPI is intergrated into 3rdparty and you should do nothing
-
compile
-
install PyDragon [Optional]
- Linux:
- configure Dragon/py_install.sh
- set 3rdparty path
- set anaconda path
- run Dragon/py_install.sh
sudo ./py_install.sh
- Windows:
- configure Dragon/py_install.bat
- set 3rdparty path
- set anaconda path
- run Dragon/py_install.bat
Hints
Developer: PanTing, HeFei University of Technology at Xuancheng
We will change the codes frequently
This repo is also regarded as the Developer’s Bachelor Graduation Project
License and Citation
Dragon is a distribution of the Caffe(BVLC)、MPI-Caffe(Stefan Lee)
Please cite their projects firstly in your publications if it helps your research