ADABADAM Optimiser

The ADABADAM (Adaptive Batched, Adaptive Moment) Estimator

template<class T>
class ADABADAM::Optimizer

Public Functions

inline Optimizer(T &functor)
inline void Minimize(std::vector<double> &x)
inline std::string GetStatus()
inline void InitialiseSpeedControls(std::vector<int> sizes, std::vector<double> speeds)

Public Members

OptimizerStatus Status
OptimizerProperties Properties
StopConditions HaltConditions
ProgressTracker Progress

Private Functions

inline void SetDefaults()
inline void Initialise()
inline void ADABADAM_Body(std::vector<double> &x)
inline void CheckConvergence(double dg, double df, double dx)
inline int CheckMinibatches(double df, int currentSize)
inline bool NeedsBatchReduction()
inline void UpdateProgress(int batch, int nBatches, double F, double G, double dF, double dxNorm, const std::vector<double> &x)
inline void SaveProgress(int n)
inline void InitialiseExternalFiles()
inline void CheckExternalFiles()
inline void CleanExternalFiles()

Private Members

T &Functor
MemoryBuffer Buffer