def _configure_learning_rate(num_samples_per_epoch, global_step):
 decay_steps = int(((num_samples_per_epoch / FLAGS.batch_size) * FLAGS.num_epochs_per_decay))
 if FLAGS.sync_replicas:
  decay_steps /= FLAGS.replicas_to_aggregate
 if (FLAGS.learning_rate_decay_type == 'exponential'):
  return tf.train.exponential_decay(FLAGS.learning_rate, global_step, decay_steps, FLAGS.learning_rate_decay_factor, staircase=True, name='exponential_decay_learning_rate')
 elif (FLAGS.learning_rate_decay_type == 'fixed'):
  return tf.constant(FLAGS.learning_rate, name='fixed_learning_rate')
 elif (FLAGS.learning_rate_decay_type == 'polynomial'):
  return tf.train.polynomial_decay(FLAGS.learning_rate, global_step, decay_steps, FLAGS.end_learning_rate, power=1.0, cycle=False, name='polynomial_decay_learning_rate')
 else:
  raise ValueError('learning_rate_decay_type [%s] was not recognized', FLAGS.learning_rate_decay_type)

def _configure_learning_rate ( num_samples_per_epoch , global_step ) : decay_steps = int ( ( ( num_samples_per_epoch / FLAGS . batch_size ) * FLAGS . num_epochs_per_decay ) ) if FLAGS . sync_replicas : decay_steps /= FLAGS . replicas_to_aggregate if ( FLAGS . learning_rate_decay_type == 'exponential' ) : return tf . train . exponential_decay ( FLAGS . learning_rate , global_step , decay_steps , FLAGS . learning_rate_decay_factor , staircase = True , name = 'exponential_decay_learning_rate' ) elif ( FLAGS . learning_rate_decay_type == 'fixed' ) : return tf . constant ( FLAGS . learning_rate , name = 'fixed_learning_rate' ) elif ( FLAGS . learning_rate_decay_type == 'polynomial' ) : return tf . train . polynomial_decay ( FLAGS . learning_rate , global_step , decay_steps , FLAGS . end_learning_rate , power = 1.0 , cycle = False , name = 'polynomial_decay_learning_rate' ) else : raise ValueError ( 'learning_rate_decay_type [%s] was not recognized' , FLAGS . learning_rate_decay_type )
configures the learning rate .