code: def global_step(device=''):
    
    global_step_ref = tf.get_collection(tf.GraphKeys.GLOBAL_STEP)
    if global_step_ref:
      return global_step_ref[0]
    else:
      collections = [
          VARIABLES_TO_RESTORE,
          tf.GraphKeys.GLOBAL_VARIABLES,
          tf.GraphKeys.GLOBAL_STEP,
      ]
      # Get the device for the variable.
      with tf.device(variable_device(device, 'global_step')):
        return tf.get_variable('global_step', shape=[], dtype=tf.int64,
                               initializer=tf.zeros_initializer(),
                               trainable=False, collections=collections)
docs: Returns the global step variable.
  
    Args:
      device: Optional device to place the variable. It can be an string or a
        function that is called to get the device for the variable.
  
    Returns:
      the tensor representing the global step variable.