code: def _clip_gradients_by_norm(grads_and_vars, clip_gradients):
      """Clips gradients by global norm."""
      gradients, variables = zip(*grads_and_vars)
      clipped_gradients, _ = clip_ops.clip_by_global_norm(
          gradients, clip_gradients
      )
      return list(zip(clipped_gradients, variables))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import six
  from ..None import contrib_framework
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import clip_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import init_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  from tensorflow.python.summary import summary
  from tensorflow.python.training import moving_averages
  from tensorflow.python.training import optimizer
  from tensorflow.python.training import training
label_desc: Use image node_id 2 for calling a global function with example usage: _clip_gradients_by_norm(grads_and_vars, clip_gradients) and returns: list