RcppEnsmallen v0. Released - Callbacks added and more types!

The RcppEnsmallen package brings to R a Header-Only C++ Mathematical Optimization Library for Armadillo. In particular, Ensmallen is a templated C++ mathematical optimization library (by the MLPACK team) that provides a simple set of abstractions for writing an objective function to optimize.

The Ensmallen Development Team has truly done it. In this release, there is a major API change to support callbacks within optimization routines. From newly added documentation, we have:

Callbacks in ensmallen are methods that are called at various states during the optimization process, which can be used to implement and control behaviors such as:

  • Changing the learning rate.
  • Printing of the current objective.
  • Sending a message when the optimization hits a specific state such us a minimal objective.

Outside of that, the optimizers can now work across a variety of armadillo matrix types whereas before they could only operate on arma::mat. The fine details are given below.

RcppEnsmallen news file entry for version v0. (2019-09-07)

  • Upgraded to ensmallen 2.10.0: “Fried Chicken” (2019-09-07)
    • All Optimize() functions now take any matrix type; so, e.g., arma::fmat or arma::sp_mat can be used for optimization. See the documentation for more details (#113, #119).
    • Introduce callback support. Callbacks can be appended as the last arguments of an Optimize() call, and can perform custom behavior at different points during the optimization. See the documentation for more details (#119).
    • Slight speedups for FrankWolfe optimizer (#127).

GitHub Changelog

comments powered by Disqus