class_docstr_tok: []
code: def on_epoch_end(self, epoch, logs={}):
      if self.epoch_prediction_object is None:
          prediction = self.deepneuro_model.predict(
              self.predict_data[self.deepneuro_model.input_data]
          )
      else:
          prediction = self.epoch_prediction_object.process_case(
              self.predict_data, model=self.deepneuro_model
          )
  
      output_filepaths, output_images = check_data(
          {"prediction": prediction},
          output_filepath=os.path.join(
              self.epoch_prediction_dir, "epoch_{}.png".format(epoch)
          ),
          show_output=self.show_callback_output,
          batch_size=self.epoch_prediction_batch_size,
          **self.kwargs,
      )
  
      if len(output_images.keys()) > 1:
          self.predictions += [
              [
                  output_images["prediction_" + str(idx)].astype(
                      "uint8"
                  )
                  for idx in range(len(output_images.keys()))
              ]
          ]
      else:
          self.predictions += [
              output_images["prediction"].astype("uint8")
          ]
  
      return
  
imports: import os
  import imageio
  import numpy
  from keras.callbacks import ModelCheckpoint, EarlyStopping, CSVLogger, Callback
  from keras import backend
  from deepneuro.utilities.util import add_parameter
  from deepneuro.utilities.visualize import check_data
label_desc: Use image node_id 3 for calling the EpochPredict obj's underlying member method code with example usage: obj.on_epoch_end(epoch, logs) without return types