docstr: Unregister memory profiling tools from IPython instance.
docstr_tok: ["Unregister","memory","profiling","tools","from","IPython","instance","."]
code: def stop(self):
      """Unregister memory profiling tools from IPython instance."""
      if not self.running:
          return
      logger.debug("CellLogger: Stopping")
  
      self.ipython.events.unregister("pre_run_cell", self.pre_run_cell)
      self.ipython.events.unregister(
          "post_run_cell", self.post_run_cell
      )
  
      # try: self.ipython.events.unregister("pre_run_cell",  self.pre_run_cell)
      # except ValueError:
      #     print("Failed to unregister: pre_run_cell ")
      #     pass
      # try: self.ipython.events.unregister("post_run_cell", self.post_run_cell)
      # except ValueError:
      #     print("Failed to unregister: pre_run_cell ")
      #     pass
      # if self.peak_monitor_thread and self.peak_monitor_thread.is_alive():
      #    self.peak_monitor_thread._Thread__stop()
  
      self.peak_monitoring = False
  
      # run post_run_cell() manually, since it's no longer registered
      self.post_run_cell(None)
  
      self.running = False
  
imports: from IPython import get_ipython
  from collections import namedtuple
  import datetime
  import gc
  import logging
  import os
  import psutil
  import random
  import sys
  import threading
  import time
label_desc: Use image node_id 8 for calling the CellLogger obj's underlying member method code with example usage: obj.stop() without return types