ensmallen provides a simple set of abstractions for writing an objective function to optimize. It also provides a large set of standard and cutting-edge optimizers that can be used for virtually any mathematical optimization task. These include full-batch gradient descent techniques, small-batch techniques, gradient-free optimizers, and constrained optimization.
- recent C++ compiler with C++11 support
- Armadillo version 6.500 or later
- OpenBLAS or Intel MKL or LAPACK (see Armadillo site for details)
ensmallen is open source software, licensed under the permissive 3-clause BSD license.