dopt 0.3.1

A numerical optimisation framework


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

dub.json
dub.sdl

dopt

DUB

A numerical optimisation and deep learning framework for D.

Current features include:

  • Ability to construct symbolic representations of tensor-valued functions
  • Basic arithmetic and mathematical operations (add, sub, mul, div, abs, log, exp, ...)
  • Basic matrix operations (multiplication, transpose)
  • Reverse-mode automatic differentiation
  • Stochastic gradient descent
  • Neural network primitives
  • Neural network construction utilities
  • Framework to add third party operations and their derivatives, and the ability register implementations for both the CPU and CUDA backends
  • Online optimisation algorithms: SGD and ADAM

The project is still in the early stages, and some things might not work properly yet. Some planned future features include:

  • The ability to add optimisation passes to the CPU and CUDA backends.
  • More online optimisation algorithms (SGD+momentum, AdaGrad, etc)

Docs

Documentation can be found here.

Using

The easiest way to use dopt is by adding it as a dependency in your project's dub configuration file. See dub's getting started page for more information about how to do this.

Example

Examples for training networks on MNIST and CIFAR10 are given in the examples/ folder.

Authors:
Henry Gouk
Dependencies:
derelict-nvrtc, derelict-cudnn, derelict-cuda, cblas
Versions:
0.3.1 2017-Nov-21
0.3.0 2017-Oct-25
0.2.1 2017-Aug-24
0.2.0 2017-Aug-23
0.1.0 2017-Jul-20
Show all 8 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 2 downloads this month

  • 9 downloads total