ensmallen: a flexible C++ library for efficient function optimization

Loading...
Thumbnail Image
File version

Version of Record (VoR)

Author(s)
Bhardwaj, Shikhar
Curtin, Ryan
Edel, Marcus
Mentekidis, Yannis
Sanderson, Conrad
Griffith University Author(s)
Primary Supervisor
Other Supervisors
Editor(s)
Date
2018
Size
File type(s)
Location

Montréal, Canada

Abstract

We present ensmallen, a fast and flexible C++ library for mathematical optimization of arbitrary user-supplied functions, which can be applied to many machine learning problems. Several types of optimizations are supported, including differentiable, separable, constrained, and categorical objective functions. The library provides many pre-built optimizers (including numerous variants of SGD and Quasi-Newton optimizers) as well as a flexible framework for implementing new optimizers and objective functions. Implementation of a new optimizer requires only one method and a new objective function requires typically one or two C++ functions. This can aid in the quick implementation and prototyping of new machine learning algorithms. Due to the use of C++ template metaprogramming, ensmallen is able to support compiler optimizations that provide fast runtimes. Empirical comparisons show that ensmallen is able to outperform other optimization frameworks (like Julia and SciPy), sometimes by large margins. The library is distributed under the BSD license and is ready for use in production environments.

Journal Title
Conference Title

Workshop on Systems for ML and Open Source Software at NIPS (NeurIPS) 2018

Book Title
Edition
Volume
Issue
Thesis Type
Degree Program
School
Publisher link
Patent number
Funder(s)
Grant identifier(s)
Rights Statement
Rights Statement

Copyright remains with the author[s] 2018. This is an Open Access article distributed under the terms of the Creative Commons Attribution 4.0 International (http://creativecommons.org/licenses/by/4.0/) which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Item Access Status
Note
Access the data
Related item(s)
Subject

Optimisation

Persistent link to this record
Citation

Bhardwaj, S; Curtin, R; Edel, M; Mentekidis, Y; Sanderson, C, ensmallen: a flexible C++ library for efficient function optimization, 2018