code: def _add_variable_proxy_methods(var, proxy_tensor):
      """Proxy methods of underlying variable.
  
      This enables our custom getters to still work with, e.g., batch norm.
  
      Args:
        var: Variable to proxy
        proxy_tensor: Tensor that is identity of var
      """
      proxy_tensor.read_value = lambda: tf.identity(proxy_tensor)
      proxy_tensor.assign_sub = var.assign_sub
      proxy_tensor.assign = var.assign
      proxy_tensor.initialized_value = var.initialized_value
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  import math
  import six
  from six.moves import range
  from six.moves import zip
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers.vq_discrete import DiscreteBottleneck
  import tensorflow.compat.v1
label_desc: Use image node_id 4 for calling a global function with example usage: _add_variable_proxy_methods(var, proxy_tensor) without return types