code: def epoch_mean(values: List[List[Union[int, float]]]) -> float:
      """Computes the mean on epoch level assuming that no reduction took place on episode level.
  
      :param values: List of episode value lists.
      :return: The mean.
      """
      all_epoch_values = np.concatenate(values)
      return float(np.mean(all_epoch_values))
  
file_path: maze/maze/core/log_stats/reducer_functions.py
imports: import itertools
  from collections import ValuesView
  from typing import List, Tuple, Union
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: epoch_mean(values) and returns: float