class_docstr: This wrapper augments a RNN layer so that the weights can be clustered.
  
  The weight_name of a single cell in RNN layers is marked with an index in
  registry. In the wrapper layer, the index needs to be removed for matching
  the attribute of the cell layer.
code: def get_weight_from_layer(self, weight_name):
      weight_name_no_index, i = self.get_weight_name_without_index(
          weight_name
      )
      if hasattr(self.layer, "cell"):
          if isinstance(
              self.layer.cell, tf.keras.layers.StackedRNNCells
          ):
              return getattr(
                  self.layer.cell.cells[i], weight_name_no_index
              )
          else:
              return getattr(self.layer.cell, weight_name_no_index)
      elif isinstance(self.layer, tf.keras.layers.Bidirectional):
          if i < 0 or i > 1:
              raise ValueError(
                  "Unsupported number of cells in the layer to get weights from."
              )
          return_layer_cell = self.get_return_layer_cell(i)
          return getattr(return_layer_cell, weight_name_no_index)
      else:
          raise ValueError(
              "No cells in the RNN layer to get weights from."
          )
  
imports: import operator
  import tensorflow
  from tensorflow_model_optimization.python.core.clustering.keras import cluster_config
  from tensorflow_model_optimization.python.core.clustering.keras import clusterable_layer
  from tensorflow_model_optimization.python.core.clustering.keras import clustering_centroids
  from tensorflow_model_optimization.python.core.clustering.keras import clustering_registry
label_desc: Use image node_id 3 for calling the ClusterWeightsRNN obj's underlying member method code with example usage: obj.get_weight_from_layer(weight_name) and returns: getattr, getattr, getattr