public LearningEpoch(LearningScriptBatchExecution learningExecution, LearningScriptBatcher batcher)
 {
     Contract.Requires(learningExecution != null);
     Contract.Requires(batcher != null);
     
     LearningExecution = learningExecution;
     Batcher = batcher;
     CreateResults();
 }
        public LearningEpoch(LearningScriptBatchExecution learningExecution, LearningScriptBatcher batcher, LearningScriptBatcher validationBatcher, int validationFrequency = 10)
        {
            Contract.Requires(learningExecution != null);
            Contract.Requires(batcher != null);
            Contract.Requires(validationBatcher != null);
            Contract.Requires(validationFrequency > 0);
            Contract.Requires(batcher != validationBatcher);

            LearningExecution = learningExecution;
            Batcher = batcher;
            ValidationFrequency = validationFrequency;
            ValidationBatcher = validationBatcher;
            CreateResults();
        }