code: def display_stats(self):
      print("")
      for model_name in self._experiment_with_models.keys():
          colored_print(COLORS.Green, str(model_name))
          for experiment in self._experiment_with_models[model_name]:
              print(experiment)
              num_epoch, stats = experiment.extract_stats()
              colored_print(COLORS.Red, "Epoch: {}".format(num_epoch))
              for metric_name in stats:
                  sentence = ""
                  for split_name in stats[metric_name].keys():
                      sentence += "{}: {}, ".format(
                          split_name, stats[metric_name][split_name]
                      )
                  metric_sentence = metric_name + "({})".format(
                      sentence[:-2]
                  )
                  colored_print(COLORS.BBlue, metric_sentence)
              print("")
          print("")
  
imports: import os
  from glob import glob
  from collections import defaultdict
  import torch
  from plyfile import PlyData, PlyElement
  from numpy.lib import recfunctions
  from torch_points3d.utils.colors import COLORS
  import numpy
label_desc: Use image node_id 11 for calling the ExperimentManager obj's underlying member method code with example usage: obj.display_stats() without return types