code: def keras_style_scope():
      """Use Keras-style variable management.
  
      All tf.layers and tf RNN cells created in this scope use Keras-style
      variable management.  Creating such layers with a scope= argument is
      disallowed, and reuse=True is disallowed.
  
      The purpose of this scope is to allow users of existing layers to
      slowly transition to a Keras layers API without breaking existing
      functionality.
  
      One example of this is when using TensorFlow's RNN classes with Keras
      Models or Networks.  Because Keras models do not properly set variable
      scopes, users of RNNs may either accidentally share scopes between two
      different models, or get errors about variables that already exist.
  
      Example:
  
      ```python
      class RNNModel(tf.keras.Model):
  
        def __init__(self, name):
          super(RNNModel, self).__init__(name=name)
          self.rnn = tf.compat.v1.nn.rnn_cell.MultiRNNCell(
            [tf.compat.v1.nn.rnn_cell.LSTMCell(64) for _ in range(2)])
  
        def call(self, input, state):
          return self.rnn(input, state)
  
      model_1 = RNNModel("model_1")
      model_2 = RNNModel("model_2")
  
      # OK
      output_1, next_state_1 = model_1(input, state)
      # Raises an error about trying to create an already existing variable.
      output_2, next_state_2 = model_2(input, state)
      ```
  
      The solution is to wrap the model construction and execution in a keras-style
      scope:
  
      ```python
      with keras_style_scope():
        model_1 = RNNModel("model_1")
        model_2 = RNNModel("model_2")
  
        # model_1 and model_2 are guaranteed to create their own variables.
        output_1, next_state_1 = model_1(input, state)
        output_2, next_state_2 = model_2(input, state)
  
        assert len(model_1.weights) > 0
        assert len(model_2.weights) > 0
        assert(model_1.weights != model_2.weights)
      ```
  
      Yields:
        A keras layer style scope.
      """
      global _KERAS_STYLE_SCOPE
      stack = _KERAS_STYLE_SCOPE
      _KERAS_STYLE_SCOPE = True
      try:
          yield
      finally:
          _KERAS_STYLE_SCOPE = stack
  
imports: import copy
  import warnings
  from tensorflow.python.eager import context
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.keras import backend
  from tensorflow.python.keras.engine import base_layer
  from tensorflow.python.keras.engine import base_layer_utils
  from tensorflow.python.keras.legacy_tf_layers import variable_scope_shim
  from tensorflow.python.keras.mixed_precision import policy
  from tensorflow.python.keras.utils import tf_contextlib
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  from tensorflow.python.trackable import base
  from tensorflow.python.util import nest
label_desc: Use image node_id 1 for calling a global function with example usage: keras_style_scope() without return types