public interface ISchedule
extends java.io.Serializable, java.lang.Cloneable
ISchedule: a general purpose interface for getting values according to some schedule.
Used for implementing learning rate, dropout and momentum schedules - and in principle, any univariate (double)
value that deponds on the current iteration and epochs numbers.
Note: ISchedule objects should not have mutable state - i.e., they should be safe to share between multiple