argman / Dragon

Dragon: A Light Deep Learning Framework (0.1rc)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  1. CUDA
  2. Anaconda [Optional]
  3. Microsoft MPI / OpenMPI [Optional]

Installation

  1. clone this repository

  2. download and install CUDA

    • we recommend install CUDA8 or higher to support GCC5/VS2015
  3. download 3rdparty.zip and unzip to any path

  4. install Anaconda with x64-py2.7 [Optional]

    • allow importing environment variable into bashrc (Linux) / PATH (Windows)
    • install protobuf
    pip install protobuf
  5. 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
  6. 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;
  7. install MPI [Optional]

  8. 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
  9. 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

About

Dragon: A Light Deep Learning Framework (0.1rc)


Languages

Language:C++ 75.6%Language:Cuda 19.1%Language:Protocol Buffer 2.6%Language:CMake 1.3%Language:Python 0.8%Language:Shell 0.4%Language:Batchfile 0.3%