Tshimanga / numsuch

A Numerical Library for the Chapel Programming Language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NumSuch v 0.1.4

Porting little bits of code I need from NumPy over to Chapel.

Documents, such as they are, should be available here as are the Release Notes.

This is an attempt to collect numerical tools into Chapel libraries. It's a purely amateur effort, since I am by no means a numerical programmer.

Let's be bold. Let's do NumPy + SciPy + Keras all at once.

Hopefully we can get the algorithms documented in the tex directory. Trust the raw TeX for recency, not the PDFs.

Please contribute to this project! I've tried to make it easy by (1) being generally friendly and (2) providing a Contributor's Guide. I'm very open to being told "Ur doin it wrong!"

Why Chapel?

Because it works. I'm finding myself laughing out loud at 2 AM saying "I can't believe that worked the first time!". And it feels like the love child of Python (mom) and Fortran (dad), the two greatest languages ever invented.

I find the Cheat Sheet pretty useful, now that someone finally told me about it... Ben...

NNModels

Algorithms are based on Section 6.5 of "Deep Learning" by Goodfellow, Bengio and Courville. See 1st Ed. page 202

Quick example from the MLP tests

use NN;
writeln("How do you run tests in Chapel?");

writeln("Hola Mundo!");
var X = Matrix(
   [1.0,0.0,1.0,0.0],
   [1.0,0.0,1.0,1.0],
   [0.0,1.0,0.0,1.0]);
var y = Vector([1.0,1.0,0.0]);

const epochs:int = 5000,
      lr: real = 0.1;
var model = new Sequential();
model.add(new Dense(units=2, inputDim=4, batchSize=3));
model.add(new Dense(units=1));
//model.add(new Dense(units=6));
model.add(new Activation(name="relu"));

var o = model.fit(xTrain=X,yTrain=y, epochs=epochs, lr=lr);

GBSSL

Based mostly on the PPT by Talukdar and Subramanya However, this module has been temporarily removed due to problems with convergence.

Related Projects

About

A Numerical Library for the Chapel Programming Language

License:Apache License 2.0


Languages

Language:Chapel 71.4%Language:TeX 13.4%Language:Python 10.8%Language:Makefile 2.9%Language:R 1.5%