class_docstr: A context manager for keeping track of loaded objects.
  
  During the deserialization process, we may come across objects that are
  shared across multiple layers. In order to accurately restore the network
  structure to its original state, `SharedObjectLoadingScope` allows us to
  re-use shared objects rather than cloning them.
docstr: Given a shared object ID, returns a previously instantiated object.
  
  Args:
    object_id: shared object ID to use when attempting to find
      already-loaded object.
  
  Returns:
    The object, if we've seen this ID before. Else, `None`.
docstr_tok: ["Given","a","shared","object","ID",",","returns","a","previously","instantiated","object",".","Args",":","object_id",":","shared","object","ID","to","use","when","attempting","to","find","already-loaded","object",".","Returns",":","The","object",",","if","we","'ve","seen","this","ID","before",".","Else",",","`","None","`","."]
code: def get(self, object_id):
      """Given a shared object ID, returns a previously instantiated object.
  
      Args:
        object_id: shared object ID to use when attempting to find
          already-loaded object.
  
      Returns:
        The object, if we've seen this ID before. Else, `None`.
      """
      # Explicitly check for `None` internally to make external calling code a
      # bit cleaner.
      if object_id is None:
          return
      return self._obj_ids_to_obj.get(object_id)
  
imports: import contextlib
  import inspect
  import json
  import threading
  import weakref
  from keras.api_export import keras_export
  from keras.saving import object_registration
label_desc: Use image node_id 2 for calling the SharedObjectLoadingScope obj's underlying member method code with example usage: obj.get(object_id) and returns: self