class_docstr: Callback to evaluate all metrics.
  
  MatchZoo metrics can not be evaluated batch-wise since they require
  dataset-level information. As a result, MatchZoo metrics are not
  evaluated automatically when a Model `fit`. When this callback is used,
  all metrics, including MatchZoo metrics and Keras metrics, are evluated
  once every `once_every` epochs.
  
  :param model: Model to evaluate.
  :param x: X.
  :param y: y.
  :param once_every: Evaluation only triggers when `epoch % once_every == 0`.
      (default: 1, i.e. evaluate on every epoch's end)
  :param batch_size: Number of samples per evaluation. This only affects the
      evaluation of Keras metrics, since MatchZoo metrics are always
      evaluated using the full data.
  :param model_save_path: Directory path to save the model after each
      evaluate callback, (default: None, i.e., no saving.)
  :param verbose: Verbosity.
docstr: Called at the end of en epoch.
  
  :param epoch: integer, index of epoch.
  :param logs: dictionary of logs.
  :return: dictionary of logs.
docstr_tok: ["Called","at","the","end","of","en","epoch",".",":","param","epoch",":","integer",",","index","of","epoch",".",":","param","logs",":","dictionary","of","logs",".",":","return",":","dictionary","of","logs","."]
code: def on_epoch_end(self, epoch: int, logs: dict = None):
      """
      Called at the end of en epoch.
  
      :param epoch: integer, index of epoch.
      :param logs: dictionary of logs.
      :return: dictionary of logs.
      """
      if (epoch + 1) % self._valid_steps == 0:
          val_logs = self._model.evaluate(
              self._dev_x, self._dev_y, self._batch_size
          )
          if self._verbose:
              print(
                  "Validation: "
                  + " - ".join(f"{k}: {v}" for k, v in val_logs.items())
              )
          for k, v in val_logs.items():
              logs[k] = v
          if self._model_save_path:
              curr_path = self._model_save_path + str(
                  "%d/" % (epoch + 1)
              )
              self._model.save(curr_path)
  
file_path: MatchZoo/matchzoo/engine/callbacks.py
imports: import typing
  from pathlib import Path
  import numpy
  import keras
  import matchzoo
  from matchzoo.engine.base_model import BaseModel
label_desc: Use image node_id 2 for calling the EvaluateAllMetrics obj's underlying member method code with example usage: obj.on_epoch_end(epoch, logs) without return types