class_docstr: Base class that tests mirrored variable creator.
  
  Currently it assumes all strategy objects have two replicas.
class_docstr_tok: ["Base","class","that","tests","mirrored","variable","creator",".","Currently","it","assumes","all","strategy","objects","have","two","replicas","."]
code: def testCustomGradient(self, distribution):
      class CustomModel:
          def __init__(self):
              self._v = variables.Variable(1.0)
  
          def __call__(self):
              @custom_gradient.recompute_grad
              def _call():
                  return self._v + 1
  
              return _call()
  
      with distribution.scope():
          model = CustomModel()
  
          @def_function.function
          def train_step():
              def replica_step():
                  with backprop.GradientTape() as tape:
                      result = model()
                  return tape.gradient(result, [model._v])
  
              return distribution.run(replica_step)
  
      grads = distribution.experimental_local_results(train_step())
      self.assertLen(grads, distribution.num_replicas_in_sync)
  
imports: from tensorflow.python.checkpoint import checkpoint
  from tensorflow.python.distribute import collective_all_reduce_strategy
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import distribute_utils
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import values
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import config
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import func_graph
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import custom_gradient
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import rnn
  from tensorflow.python.ops import rnn_cell_impl
  from tensorflow.python.ops import state_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variable_v1
  from tensorflow.python.ops import variables
  from tensorflow.python.saved_model import load
  from tensorflow.python.saved_model import save
label_desc: Use image node_id 26 for calling the MirroredVariableCreationTest obj's underlying member method code with example usage: obj.testCustomGradient(distribution) and returns: _call, distribution, unknown, tape