#NEWLINE# def __init__( self , trainer , decay_factor = 1.000004 , min_lr = 1e-06 , debug = False ) : #NEWLINE# #INDENT# super ( ExponentialLearningRateAnnealer , self ) . __init__ ( trainer ) #NEWLINE# logging . info ( ( 'exponentially decay learning rate with decay factor = %f' % decay_factor ) ) #NEWLINE# self . decay_factor = np . array ( decay_factor , dtype = FLOATX ) #NEWLINE# self . min_lr = np . array ( min_lr , dtype = FLOATX ) #NEWLINE# self . debug = debug #NEWLINE# self . _learning_rate = self . _trainer . config . learning_rate #NEWLINE# if ( type ( self . _learning_rate ) == float ) : #NEWLINE# #INDENT# raise Exception ( 'use shared_scalar to wrap the value in the config.' ) #NEWLINE# #UNINDENT# self . _trainer . network . training_callbacks . append ( self . update_callback )