code: def _print_variable_values(sess):
      """May give `Protocol buffer too large` error."""
      np.set_printoptions(precision=4, linewidth=1000)
      tf.logging.info("Printing variables.")
      tf.logging.info("===================")
      values = sess.run(tf.trainable_variables())
      for variable, value in zip(tf.trainable_variables(), values):
          tf.logging.info("{}, {}".format(variable.name, value.shape))
          tf.logging.info("{}".format(np.array(value).flatten()))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import re
  import mesh_tensorflow
  import numpy
  import six
  from six.moves import range
  from six.moves import zip
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
  from mesh_tensorflow.experimental import input_reader
  from mesh_tensorflow.experimental import unet
  from tensorflow.contrib import summary
  from tensorflow.contrib import tpu
  from tensorflow.contrib.tpu.python.tpu import device_assignment
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.platform import flags
  from tensorflow.python.tpu.ops import tpu_ops
label_desc: Use image node_id 3 for calling a global function with example usage: _print_variable_values(sess) without return types