1 /** 2 This package contains implementations of common online optimisation algorithms, with a particular bias towards 3 those commonly used in large scale machine learning/deep learning. 4 5 Authors: Henry Gouk 6 */ 7 module dopt.online; 8 9 public 10 { 11 import dopt.online.adam; 12 import dopt.online.amsgrad; 13 import dopt.online.sgd; 14 } 15 16 import dopt.core; 17 18 /** 19 Used for performing projected gradient descent. 20 21 The delegate should take a new value for some tensor, and project it back into the feasible set. 22 */ 23 alias Projection = Operation delegate(Operation); 24 25 /** 26 A delegate that can be used to perform the update step for an online optimisation algorithm. 27 */ 28 alias Updater = Buffer[] delegate(Buffer[Operation] args);