dopt 0.1.5

A numerical optimisation framework.


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

dopt

A numerical optimisation library for the D programming language.

One can describe a differentiable function as an abstract syntax tree of tensor operations. These functions can then be interpreted on the CPU or compiled to CUDA code and executed on a GPU.

Reverse mode automatic differentiation is available for computing gradients.

The core operations required for convolutional neural networks are implemented using nVidia's cuDNN library.

Building

So far this has only been tested on Ubuntu Linux with CUDA 7.0.

cuBLAS and cuDNN are required to build the library. Ensure they can be found by setting the LIBRARY_PATH environment variable correctly, then run:


The Plan
--------

Currently the AST and CPU/CUDA compilers are the only parts that have been
implemented. The next main goal is to implement some standard numerical
optimisation methods, such as the conjugate gradient method and
Levenberg-Marquardt.

Contributors are welcome!

Authors: Henry Gouk

Dependencies: derelict-cuda, cblas

Versions:
0.1.5 2016-Jun-27
0.1.4 2016-Jun-14
0.1.3 2016-Jun-14
0.1.2 2016-Jun-13
0.1.1 2016-Jun-13
Show all 7 versions
Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 65 downloads total