Belle II Software  release-05-02-19
DefaultModel Class Reference
Inheritance diagram for DefaultModel:
Collaboration diagram for DefaultModel:

Public Member Functions

def __init__ (self, mlp, mom_init=.9, mom_max=.99, mom_epochs=200, lr_init=.05, lr_min=1e-6, lr_dec_rate=.976, stop_epochs=10, min_epochs=200, max_epochs=1000, wd_coeffs=None, change_optimizer=None, staircase=True, smooth_cross_entropy=False)
 
def get_minimizer (self, epoch=0)
 
def initialize (self, data_set, input_placeholders=None)
 

Public Attributes

 wd_coeffs
 weight decay coefficients
 
 mlp
 network model
 
 output
 output
 
 global_step
 global step
 
 c_mom_init
 initial momentum
 
 c_mom_max
 maximum momentum
 
 c_mom_epochs
 momentum epochs
 
 c_lr_init
 initial learning rate
 
 c_lr_min
 minimal learning rate
 
 c_lr_dec_rate
 learning rate decay factor
 
 c_stop_epochs
 number of epochs until stopping
 
 c_staircase
 use staircase
 
 batches_per_epoch
 batches per epoch unknown. More...
 
 optimizers
 define multiple optimizers
 
 optimizer_change_epochs
 used opimizers
 
 monitoring_params
 params for monitoring
 
 monitoring_labels
 params for labeling
 
 mon_dict
 further monitoring variables
 
 x
 variable space must be known
 
 y_
 targets
 
 weights
 weights
 
 max_epochs
 other variables
 
 min_epochs
 min epochs
 
 termination_criterion
 termination criterion
 
 recent_params
 recent params
 
 best_value
 the best value will be set a default start value, then updated with the termination criterion
 
 step_countdown
 step countdown
 
 smooth_cross_entropy
 True for a small epsilon addition, false for a clipped network output.
 
 is_initialized
 check if initialized
 
 loss
 cross entropy with weight decay
 

Private Member Functions

def _set_optimizer (self)
 
def _set_loss (self)
 
def _set_monitoring_params (self)
 
def _default_termination_criterion (self, monitoring_params, epoch, label_name='mean_cross_entropy', prop_dec=1e-5)
 

Detailed Description

define the default model

Definition at line 222 of file tensorflow_dnn_model.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  mlp,
  mom_init = .9,
  mom_max = .99,
  mom_epochs = 200,
  lr_init = .05,
  lr_min = 1e-6,
  lr_dec_rate = .976,
  stop_epochs = 10,
  min_epochs = 200,
  max_epochs = 1000,
  wd_coeffs = None,
  change_optimizer = None,
  staircase = True,
  smooth_cross_entropy = False 
)
initialization function

Definition at line 227 of file tensorflow_dnn_model.py.

227  def __init__(self, mlp, mom_init=.9, mom_max=.99, mom_epochs=200, lr_init=.05, lr_min=1e-6,
228  lr_dec_rate=.976,
229  stop_epochs=10, min_epochs=200, max_epochs=1000, wd_coeffs=None, change_optimizer=None,
230  staircase=True, smooth_cross_entropy=False):
231  """
232  initialization function
233  """
234 
235  if wd_coeffs is not None:
236  assert len(wd_coeffs) == len(mlp.layers)
237 
238 
239  self.wd_coeffs = wd_coeffs
240 
241 
242  self.mlp = mlp
243 
244 
245  self.output = None
246 
247  with tf.name_scope('global_step'):
248 
249  self.global_step = tf.Variable(0, trainable=False)
250 
251  # optimizer params
252 
253  self.c_mom_init = mom_init
254 
255  self.c_mom_max = mom_max
256 
257  self.c_mom_epochs = mom_epochs
258 
259 
260  self.c_lr_init = lr_init
261 
262  self.c_lr_min = lr_min
263 
264  self.c_lr_dec_rate = lr_dec_rate
265 
266 
267  self.c_stop_epochs = stop_epochs
268 
269 
270  self.c_staircase = staircase
271 
272 
273  self.batches_per_epoch = None
274 
275 
276  self.optimizers = []
277  # list with epochs in which optimizers will be changed, if None is given, only the default optimizer will be
278 
279  self.optimizer_change_epochs = change_optimizer
280  if change_optimizer is not None:
281  self.optimizer_change_epochs.insert(0, 0)
282  self.optimizer_change_epochs.append(sys.maxsize)
283 
284 
285  self.monitoring_params = None
286 
287  self.monitoring_labels = None
288 
289 
290  self.mon_dict = dict()
291 
292 
293  self.x = None
294 
295  self.y_ = None
296 
297  self.weights = None
298 
299 
300  self.max_epochs = max_epochs
301 
302  # termination criterion
303 
304  self.min_epochs = min_epochs
305 
306 
307  self.termination_criterion = None
308 
309  self.recent_params = []
310 
311  self.best_value = numpy.inf
312 
313 
314  self.step_countdown = self.c_stop_epochs
315 
316 
317  self.smooth_cross_entropy = smooth_cross_entropy
318 
319 
320  self.is_initialized = False
321 

Member Function Documentation

◆ _default_termination_criterion()

def _default_termination_criterion (   self,
  monitoring_params,
  epoch,
  label_name = 'mean_cross_entropy',
  prop_dec = 1e-5 
)
private
:param monitoring_params:
:param epoch:
:param label_name:
:param steps:
:param prop_dec:
:return:

Definition at line 426 of file tensorflow_dnn_model.py.

◆ _set_loss()

def _set_loss (   self)
private
set loss

Definition at line 365 of file tensorflow_dnn_model.py.

◆ _set_monitoring_params()

def _set_monitoring_params (   self)
private
sets monitoring params

Definition at line 401 of file tensorflow_dnn_model.py.

◆ _set_optimizer()

def _set_optimizer (   self)
private
set optimizer

Definition at line 322 of file tensorflow_dnn_model.py.

◆ get_minimizer()

def get_minimizer (   self,
  epoch = 0 
)
get minimizer

Definition at line 454 of file tensorflow_dnn_model.py.

◆ initialize()

def initialize (   self,
  data_set,
  input_placeholders = None 
)
initialized

Definition at line 471 of file tensorflow_dnn_model.py.

Member Data Documentation

◆ batches_per_epoch

batches_per_epoch

batches per epoch unknown.

needs to be set with initialize

Definition at line 270 of file tensorflow_dnn_model.py.


The documentation for this class was generated from the following file: