class_docstr: A dict-like object that maps string to `TensorLayout` instances.
  
  `LayoutMap` uses a string as key and a `TensorLayout` as value. There is a
  behavior difference between a normal Python dict and this class. The string
  key will be treated as a regex when retrieving the value. See the docstring
  of `get` for more details.
  
  See below for a usage example. You can define the naming schema
  of the `TensorLayout`, and then retrieve the corresponding
  `TensorLayout` instance.
  
  In the normal case, the key to query is usually the `variable.path`, which
  is the idenifier of the variable.
  
  As shortcut, tuple or list of axis names are also allowed when inserting
  as value, and will be converted to `TensorLayout`.
  
  ```python
  layout_map = LayoutMap(device_mesh=None)
  layout_map['dense.*kernel'] = (None, 'model')         # layout_2d
  layout_map['dense.*bias'] = ('model',)                # layout_1d
  layout_map['conv2d.*kernel'] = TensorLayout((None, None, None, 'model'))
  layout_map['conv2d.*bias'] = TensorLayout(('model',))  # layout_1d
  
  layout_1 = layout_map['dense_1.kernel']             # layout_1 == layout_2d
  layout_2 = layout_map['dense_1.bias']               # layout_2 == layout_1d
  layout_3 = layout_map['dense_2.kernel']             # layout_3 == layout_2d
  layout_4 = layout_map['dense_2.bias']               # layout_4 == layout_1d
  layout_5 = layout_map['my_model/conv2d_123/kernel'] # layout_5 == layout_4d
  layout_6 = layout_map['my_model/conv2d_123/bias']   # layout_6 == layout_1d
  layout_7 = layout_map['my_model/conv3d_1/kernel']   # layout_7 == None
  layout_8 = layout_map['my_model/conv3d_1/bias']     # layout_8 == None
  ```
  
  Args:
      device_mesh: An optional `DeviceMesh` that can be used to populate the
          `TensorLayout.device_mesh` if `TensorLayout.device_mesh` is not set.
class_docstr_tok: ["A","dict-like","object","that","maps","string","to","`","TensorLayout","`","instances",".","`","LayoutMap","`","uses","a","string","as","key","and","a","`","TensorLayout","`","as","value",".","There","is","a","behavior","difference","between","a","normal","Python","dict","and","this","class",".","The","string","key","will","be","treated","as","a","regex","when","retrieving","the","value",".","See","the","docstring","of","`","get","`","for","more","details",".","See","below","for","a","usage","example",".","You","can","define","the","naming","schema","of","the","`","TensorLayout","`",",","and","then","retrieve","the","corresponding","`","TensorLayout","`","instance",".","In","the","normal","case",",","the","key","to","query","is","usually","the","`","variable.path","`",",","which","is","the","idenifier","of","the","variable",".","As","shortcut",",","tuple","or","list","of","axis","names","are","also","allowed","when","inserting","as","value",",","and","will","be","converted","to","`","TensorLayout","`",".","``","`","python","layout_map","=","LayoutMap","(","device_mesh=None",")","layout_map","[","'dense",".","*","kernel","'","]","=","(","None",",","'model","'",")","#","layout_2d","layout_map","[","'dense",".","*","bias","'","]","=","(","'model","'",",",")","#","layout_1d","layout_map","[","'conv2d",".","*","kernel","'","]","=","TensorLayout","(","(","None",",","None",",","None",",","'model","'",")",")","layout_map","[","'conv2d",".","*","bias","'","]","=","TensorLayout","(","(","'model","'",",",")",")","#","layout_1d","layout_1","=","layout_map","[","'dense_1.kernel","'","]","#","layout_1","==","layout_2d","layout_2","=","layout_map","[","'dense_1.bias","'","]","#","layout_2","==","layout_1d","layout_3","=","layout_map","[","'dense_2.kernel","'","]","#","layout_3","==","layout_2d","layout_4","=","layout_map","[","'dense_2.bias","'","]","#","layout_4","==","layout_1d","layout_5","=","layout_map","[","'my_model\/conv2d_123\/kernel","'","]","#","layout_5","==","layout_4d","layout_6","=","layout_map","[","'my_model\/conv2d_123\/bias","'","]","#","layout_6","==","layout_1d","layout_7","=","layout_map","[","'my_model\/conv3d_1\/kernel","'","]","#","layout_7","==","None","layout_8","=","layout_map","[","'my_model\/conv3d_1\/bias","'","]","#","layout_8","==","None","``","`","Args",":","device_mesh",":","An","optional","`","DeviceMesh","`","that","can","be","used","to","populate","the","`","TensorLayout.device_mesh","`","if","`","TensorLayout.device_mesh","`","is","not","set","."]
code: def __delitem__(self, key):
      # let the dict to handle the key missing error
      return self._layout_map.pop(key)
  
imports: import collections
  import contextlib
  import os
  import re
  import warnings
  import numpy
  from keras.api_export import keras_export
  from keras.backend import KerasTensor
  from keras.backend import distribution_lib
  from keras.backend.common import global_state
label_desc: Use image node_id 4 for calling the LayoutMap obj's underlying member method code with example usage: obj.__delitem__(key) and returns: self