osl_dynamics.inference.optimizers#

Custom TensorFlow optimizers.

Classes#

ExponentialMovingAverage

Optimizer for applying a exponential moving average update.

MarkovStateModelOptimizer

Optimizer for a model containing a hidden state Markov chain.

Module Contents#

class osl_dynamics.inference.optimizers.ExponentialMovingAverage(learning_rate, decay=0.1)[source]#

Bases: keras.optimizers.optimizer_v2.optimizer_v2.OptimizerV2

Optimizer for applying a exponential moving average update.

Parameters:
  • decay (float) – Decay for the exponential moving average, which will be calculated as (1-decay) * old + decay * new.

  • learning_rate (float)

decay[source]#
update_step(gradient, variable, learning_rate)[source]#
Parameters:
  • gradient (tensorflow.Tensor)

  • variable (tensorflow.Variable)

  • learning_rate (float)

Return type:

None

class osl_dynamics.inference.optimizers.MarkovStateModelOptimizer(base_optimizer, ema_optimizer, ema_variables, learning_rate)[source]#

Bases: keras.optimizers.optimizer_v2.optimizer_v2.OptimizerV2

Optimizer for a model containing a hidden state Markov chain.

Parameters:
  • base_optimizer (tf.keras.optimizers.Optimizer) – A TensorFlow optimizer for all other trainable model variables.

  • ema_optimizer (osl_dynamics.inference.optimizers.ExponentialMovingAverage) – Exponential moving average optimizer.

  • ema_variable (list) – List of trainable variables to update with the EMA optimizer.

  • learning_rate (float) – Learning rate for the base optimizer.

  • ema_variables (List[tensorflow.Variable])

base_optimizer[source]#
ema_optimizer[source]#
ema_variable_ids[source]#
apply_gradients(grads_and_vars, **kwargs)[source]#
Parameters:

grads_and_vars (List[Tuple[tensorflow.Tensor, tensorflow.Variable]])

Return type:

None