Dragon: A Light Deep Learning Framework
Specifics !
-
Light 3rdparty: Protobuf / Boost and Install Within 10 Minutes
-
CaffeModels Support
-
Distributed Architectures Support
-
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
- Win64_VS2013_Release
- Win64_VS2015_Release
- Linux64_GCC4 (Use GCC5 but compile libprotobuf with GCC4)
- Linux64_GCC5
- we recommond unzip to /home/xxx/3rdparty (Linux) or C:/3rdparty (Windows)
-
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
- Linux:
- create dragon.conf
sudo gedit /etc/ld.so.conf.d/dragon.conf
- append 2 lines with ld dirs for your 3rdparty, e.g:
- /home/xxx/3rdparty/bin
- /home/xxx/3rdparty/lib
- rebuild the scaning cache
sudo ldconfig
- Windows
- add 3rdparty/bin to system environment variables, e.g:
- PATH=........;C:\3rdparty\bin;
- add 3rdparty/bin to system environment variables, e.g:
- Linux:
-
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
- Linux:
-
compile
- Linux:
- install cmake
sudo apt-get install cmake
- configure Dragon/main_install.sh
- set 3rdparty path
- run Dragon/main_install.sh
sudo ./main_install.sh
- Windows:
- run Dragon/bin/gen_proto.bat
- install cmake-gui
- mkdir Dragon/build
- configure and generate MSVC project in Dragon/build
- open Dragon/build/Dragon.sln
- compile and generate for "INSTALL" solution
- Linux:
-
install PyDragon [Optional]
- Linux:
- configure Dragon/py_install.sh
- set 3rdparty path
- set anaconda path
- run Dragon/py_install.sh
sudo ./py_install.sh
- configure Dragon/py_install.sh
- Windows:
- configure Dragon/py_install.bat
- set 3rdparty path
- set anaconda path
- run Dragon/py_install.bat
- configure Dragon/py_install.bat
- Linux:
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