Minimal Deep Learning library is written in Python/Cython/C++ and Numpy/CUDA/cuDNN.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 415a80a Feb 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
aurora max_pooling refector Feb 20, 2018
cuda Backward pass of the Pooling Operation Jan 20, 2018
examples updated README.md file Feb 23, 2018
resources Implement: conditionally load gpu module. Nov 18, 2017
tests Improve test suite. Jan 22, 2018
.gitignore updated .gitignore file Jun 13, 2017
LICENSE.md Update LICENSE.md Jun 10, 2017
README.md Update README.md Feb 23, 2018
requirements.txt updated README.md file Feb 23, 2018
setup.py More testing for convolution primitives Jan 2, 2018

README.md

Aurora: Minimal Deep Learning Library.

Aurora is a minimal deep learning library written in Python, Cython, and C++ with the help of Numpy, CUDA, and cuDNN. Though it is simple, Aurora comes with some advanced design concepts found it a typical deep learning library.

  • Automatic differentiation using static computational graphs.
  • Shape and type inference.
  • Static memory allocation for efficient training and inference.

Installation

Aurora relies on several external libraries including CUDA, cuDNN, and NumPy. For CUDA and cuDNN installation instructions please refer official documentation. Python dependencies can be installed by running the requirements.txt file.

Environment setup

To utilize GPU capabilities of the Aurora library, you need to have a Nvidia GPU. If CUDA toolkit is not already installed, first install the latest version of the CUDA toolkit as well as cuDNN library. Next, set following environment variables.

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
Cloning the Repository

You can clone Aurora repository using following command.

git clone https://github.com/upul/Aurora.git

Building the GPU Backend

Next, you need to build GPU backend. So please cuda directory and run make command as shown below.

  1. Go to cuda directory (cd cuda)
  2. Run make
Installing the Library

Go to Aurora directory and run:

  1. pip install -r requirements.txt
  2. pip install .

Examples

Following lists some noticeable examples. For the complete list of examples please refer examples directory. Also, for Jupyter notebooks please refer examples/notebooks folder.

  1. mnist
  2. mnist_cnn

Future Work

Following features will be added in upcoming releases.

  • Dropout and Batch Normalization.
  • High-level API similar to Keras.
  • Ability to load pre-trained models.
  • Model checkpointing.

Acknowledgement

It all started with CSE 599G1: Deep Learning System Design course. This course really helped me to understand fundamentals of Deep Learning System design. My answers to the two programming assignments of CSE 599G1 was the foundation of Aurora library. So I would like to acknowledge with much appreciation the instructors and teaching assistants of the SE 599G1 course.

References.

  1. CSE 599G1: Deep Learning System Design
  2. MXNet Architecture
  3. Parallel Programming With CUDA | Udacity
  4. Programming Massively Parallel Processors, Third Edition: A Hands-on Approach 3rd Edition