src/core/network/EarlyStopping.java
public void evaluateTrainingCondition(int iteration) {
        if (!trainingStopCondition && iteration >= trainingAverageSize) {
            double lastAverage = getAverageError(trainingAverages, trainingAverageSize, trainingMetric.getLastError());
            if (previousTrainingAverage <= lastAverage && previousTrainingAverage != Double.NEGATIVE_INFINITY) trainingStopCount++;
            else {
                previousTrainingAverage = lastAverage;
                trainingStopCount = 0;
            }
            if (trainingStopCount >= trainingStopThreshold) trainingStopCondition = true;
        }
    }
/**
     * Function that evaluates training condition.<br>
     * It first checks that iteration count is in minimum bigger than training average size and training condition threshold is not reached yet.<br>
     * It then compares if current rolling training average is less than previous rolling training average.<br>
     * If yes training condition count is increased otherwise it is reset to zero.<br>
     *
     * @param iteration current neural network training iteration.
     */
Function that evaluates training condition.
It first checks that iteration count is in minimum bigger than training average size and training condition threshold is not reached yet.
It then compares if current rolling training average is less than previous rolling training average.
If yes training condition count is increased otherwise it is reset to zero.

@param iteration current neural network training iteration.
Function that evaluates training condition . It first checks that iteration count is in minimum bigger than training average size and training condition threshold is not reached yet . It then compares if current rolling training average is less than previous rolling training average . If yes training condition count is increased otherwise it is reset to zero . @param iteration current neural network training iteration .
public void evaluateTrainingCondition(int iteration) {
        if (!trainingStopCondition && iteration >= trainingAverageSize) {
            double lastAverage = getAverageError(trainingAverages, trainingAverageSize, trainingMetric.getLastError());
            if (previousTrainingAverage <= lastAverage && previousTrainingAverage != Double.NEGATIVE_INFINITY) trainingStopCount++;
            else {
                previousTrainingAverage = lastAverage;
                trainingStopCount = 0;
            }
            if (trainingStopCount >= trainingStopThreshold) trainingStopCondition = true;
        }
    }
public void evaluateTrainingCondition ( int iteration ) { if ( ! trainingStopCondition && iteration >= trainingAverageSize ) { double lastAverage = getAverageError ( trainingAverages , trainingAverageSize , trainingMetric . getLastError ( ) ) ; if ( previousTrainingAverage <= lastAverage && previousTrainingAverage != Double . NEGATIVE_INFINITY ) trainingStopCount ++ ; else { previousTrainingAverage = lastAverage ; trainingStopCount = 0 ; } if ( trainingStopCount >= trainingStopThreshold ) trainingStopCondition = true ; } }
Function that evaluates training condition.<br>
 It first checks that iteration count is in minimum bigger than training average size and training condition threshold is not reached yet.<br>
 It then compares if current rolling training average is less than previous rolling training average.<br>
 If yes training condition count is increased otherwise it is reset to zero.<br>
Function that evaluates training condition . <br > It first checks that iteration count is in minimum bigger than training average size and training condition threshold is not reached yet . <br > It then compares if current rolling training average is less than previous rolling training average . <br > If yes training condition count is increased otherwise it is reset to zero . <br >