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 numerical 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 8.400 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.
vcpkg install ensmallen:x64-windows
- 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.