code: def _underlying_variable_ref(t):
      """Find the underlying variable ref.
  
      Traverses through Identity, ReadVariableOp, and Enter ops.
      Stops when op type has Variable or VarHandle in name.
  
      Args:
        t: a Tensor
  
      Returns:
        a Tensor that is a variable ref, or None on error.
      """
      while t.op.type in ["Identity", "ReadVariableOp", "Enter"]:
          t = t.op.inputs[0]
  
      op_type = t.op.type
      if "Variable" in op_type or "VarHandle" in op_type:
          return t
      else:
          return None
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  import re
  import numpy
  import six
  from six.moves import xrange
  from ..None import contrib_framework
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.layers import base
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import control_flow_util
  from tensorflow.python.ops import custom_gradient
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.util import nest
  from tensorflow.python.util import tf_inspect
label_desc: Use image node_id 13 for calling a global function with example usage: _underlying_variable_ref(t) and returns: t, None