This question came to me when I read the documentation of global_step. Here it explicitly declares global_step is not trainable.
global_step_tensor = tf.Vari