code: def test_read_mirrored_variable(self, strategy):
      # synchronizaiton=ON_WRITE is the default variable created under
      # tf.distribute.Strategy.scope(). Most model parameters are this kind of
      # variable. Reading a synchronization=ON_WRITE simply reads the primary
      # component, so it works as intended.
  
      class Model(tf.Module):
          def __init__(self):
              self.v = tf.Variable(
                  0.0,
                  synchronization=tf.VariableSynchronization.ON_WRITE,
              )
  
          @tf.function(input_signature=[])
          def __call__(self):
              return self.v.read_value()
  
      export_dir = self.get_temp_dir()
      with strategy.scope():
          m = Model()
          m.v.assign(1.0)
          tf.saved_model.save(m, export_dir)
  
      loaded = tf.saved_model.load(export_dir)
      self.assertEqual(self.evaluate(loaded()), 1.0)
  
imports: import os
  from absl.testing import parameterized
  import tensorflow
  import tensorflow.compat.v1
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import multi_worker_test_base
  from tensorflow.python.distribute import parameter_server_strategy_v2
  from tensorflow.python.distribute import sharded_variable
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import test_util
  from tensorflow.python.distribute import values
  from tensorflow.python.eager import context
  from tensorflow.python.eager import test
  from tensorflow.python.ops import lookup_ops
label_desc: Use image node_id 2 for calling the SaveAndLoadForServingTest obj's underlying member method code with example usage: obj.test_read_mirrored_variable(strategy) and returns: self