code: def run():
      """Run profiling."""
      lc = LayerGenerator().get_sequential("stack", False, False)
  
      cm = CMLog(verbose=False)
      cm.monitor()
  
      sleep(5)
  
      t1 = int(np.floor(perf_counter() - cm._t0) * 10)
      sleep(0.1)
      x, z = make_friedman1(int(5 * 1e6))
  
      sleep(5)
  
      t2 = int(np.floor(perf_counter() - cm._t0) * 10)
      sleep(0.1)
      lc.fit(x, z)
      t3 = int(np.floor(perf_counter() - cm._t0) * 10)
  
      sleep(5)
  
      while not hasattr(cm, "cpu"):
          cm.collect()
          sleep(1)
  
      return cm, t1, t2, t3
  
file_path: mlens/benchmarks/memory_cpu_profile.py
imports: import numpy
  from mlens.utils.dummy import LayerGenerator
  from mlens.utils.utils import CMLog
  from time import sleep, perf_counter
  from sklearn.datasets import make_friedman1
  import matplotlib.pyplot
  from seaborn import set_palette
label_desc: Use image node_id 1 for calling a global function with example usage: run() and returns: cm,  t1,  t2,  t3