code: protected void triggerEpochListeners(boolean epochStart, Model model, int epochNum){
          Collection<TrainingListener> listeners;
          if(model instanceof MultiLayerNetwork){
              MultiLayerNetwork n = ((MultiLayerNetwork) model);
              listeners = n.getListeners();
              n.setEpochCount(epochNum);
          } else if(model instanceof ComputationGraph){
              ComputationGraph cg = ((ComputationGraph) model);
              listeners = cg.getListeners();
              cg.getConfiguration().setEpochCount(epochNum);
          } else {
              return;
          }
  
          if(listeners != null && !listeners.isEmpty()){
              for (TrainingListener l : listeners) {
                  if (epochStart) {
                      l.onEpochStart(model);
                  } else {
                      l.onEpochEnd(model);
                  }
              }
          }
      }
docs: Trigger epoch listener methods manually - these won't be triggered due to not calling fit(DataSetIterator) etc