[library] Chainn: A Deep Learning Library in Chapel

Dear Chapel enthusiasts,

I am delighted to introduce to you the Chainn project (I can't resist giving to you a quick overview of this project through an overview of the GitHub README.md file).
In the Features status section, you could find a kind of "roadmap" that includes a list of features to implement.
Please note that the GitHub repository will be publicly available as soon as some basic features will be implemented : i.e. autograd (ForwardAD mode), some operators, basic activations functions and some layers (sequential/linear). However, for people wanting more details on the project, do not hesitate to leave a comment or to contact me :grinning:.

README.md


About

Chainn is a neural network library tailored for building Deep Learning models using the parallel programming language Chapel. The implementation of Chainn in Chapel enable the users
to leverage the parallel programming features of the language and to train Deep Learning models at scale : from laptops to supercomputers.
Chainn is not an attempt to replace state-of-the-art Deep Learning libraries such as Tensorflow or Pytorch but rather an experiment to explore the features and performances of a natively parallel language in the field of Deep Learning.

:warning: Warnings

Chainn is at a very early stage, in heavy development and not ready to use yet !


Table of Contents

  • Getting Started
    • Installation
    • Documentation
      • Chainn Book
      • Examples
    • Collection of pre-trained models
  • Features status
    • Autograd
    • Operators
    • Loss functions
    • Activations functions
    • Optimizers functions
    • Layers
    • Other
  • Benchmarks
  • Contributing
  • License
  • Credits

Getting Started

Click on the following sections to expand :point_down:

Installation

Installation
to do

Documentation

Chainn Book

Chainn Book 📗
to do

Examples

Examples

Collection of pre-trained models


Features status

:x:: Not implemented yet
:white_check_mark:: Working (but might require changes until Chainn 1.0)
WIP: Work in progress

Click on the following sections to expand :point_down:

Autograd

Autograd status
| Task        | Status |
|-------------|--------|
| NODE        |   ❌   |
| GRAPH       |   ❌   |

Operators

Operators status
| Task       | Status |
|------------|--------|
| ADD        |   ❌   |
| SUB        |   ❌   |
| MUL        |   ❌   |
| DIV        |   ❌   |
| DOT        |   ❌   |
| EXP        |   ❌   |
| LOG        |   ❌   |
| POW        |   ❌   |
| SUM        |   ❌   |
| MAX        |   ❌   |
| TRANSPOSE  |   ❌   |
| FLATTEN    |   ❌   |
| RESHAPE    |   ❌   |
| CONV2D     |   ❌   |
| CONV3D     |   ❌   |
| MAXPOOL2D  |   ❌   |
| MAXPOOL3D  |   ❌   |

Loss functions

Loss functions status
| Task      | Status |
|-----------|--------|
| MSE       |   ❌   |
| CE        |   ❌   |

Activations functions

Activations functions status
| Task      | Status |
|-----------|--------|
| RELU      |   ❌   |
| SIGMOID   |   ❌   |
| TANH      |   ❌   |
| SOFTMAX   |   ❌   |
| LOGSOFTMAX|   ❌   |
| LEAKYRELU |   ❌   |

Optimizers functions

Optimizers functions status
| Task  | Status |
|-------|--------|
| ADAM  |   ❌   |

Layers

Layers status
| Task       | Status |
|------------|--------|
| SEQUENTIAL |   ❌   |
| LINEAR     |   ❌   |
| DROPOUT    |   ❌   |
| CONV2D     |   ❌   |
| CONV3D     |   ❌   |
| MAXPOOL2D  |   ❌   |
| MAXPOOL3D  |   ❌   |

Other

Other tools status
| Task                          | Status |
|-----------------------------|----------|
| Datasets                    |   ❌  |
| Dataloader                   |   ❌  |
| Checkpoints                 |   ❌   |

Benchmarks

Contributing

The project will be highly collaborative and everyone is welcome to the project ! :hugs:.

License

Chainn is distributed under the terms of the permissive MIT license.
Please see LICENSE for details.

Credits

  • Damien Sicard (Chainn project author & core developer)
  • I hope some other contributors (maybe you :grinning:) !
3 Likes