class_docstr: Creates a sub-namespace for variable paths.
  
  Args:
      name: Name of the current scope (string).
      caller: Optional ID of a caller object (e.g. class instance).
      deduplicate: If `True`, if `caller` was passed,
          and the previous caller matches the current caller,
          and the previous name matches the current name,
          do not reenter a new namespace.
class_docstr_tok: ["Creates","a","sub-namespace","for","variable","paths",".","Args",":","name",":","Name","of","the","current","scope","(","string",")",".","caller",":","Optional","ID","of","a","caller","object","(","e.g",".","class","instance",")",".","deduplicate",":","If","`","True","`",",","if","`","caller","`","was","passed",",","and","the","previous","caller","matches","the","current","caller",",","and","the","previous","name","matches","the","current","name",",","do","not","reenter","a","new","namespace","."]
code: def __init__(self, name, caller=None, deduplicate=True):
      if not isinstance(name, str) or "/" in name:
          raise ValueError(
              "Argument `name` must be a string and "
              "cannot contain character `/`. "
              f"Received: name={name}"
          )
      self.name = name
      self.caller = caller
      self.deduplicate = deduplicate
      self._pop_on_exit = False
  
imports: from keras.backend.common import global_state
label_desc: Use image node_id 1 to create a new name_scope object  with example: obj = name_scope(name, caller, deduplicate)