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.
- S. Bhardwaj, R. Curtin, M. Edel, Y. Mentekidis, C. Sanderson.
ensmallen: a flexible C++ library for efficient function optimization.
Workshop on Systems for ML and Open Source Software at NIPS 2018.