code: def _collect_experiments(self):
      self._experiment_with_models = defaultdict(list)
      run_paths = glob(
          os.path.join(self._experiments_root, "outputs", "*", "*")
      )
      for run_path in run_paths:
          experiment = ExperimentFolder(run_path)
          if experiment.contains_trained_model:
              self._experiment_with_models[
                  experiment.model_name
              ].append(experiment)
  
      self._find_experiments_with_viz()
  
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 2 for calling the ExperimentManager obj's underlying member method code with example usage: obj._collect_experiments() without return types