A numerical optimisation framework.
|Copyright||Copyright © 2016, Henry Gouk|
|Registered by||Henry Gouk|
To use this package, put the following dependency into your project's dependencies section:
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.
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!