Learning rules

Build Nengo learning rules into the TensorFlow graph.

class nengo_dl.learning_rules.SimBCMBuilder(ops, signals)[source]

Build a group of SimBCM operators.

build_step(signals)[source]

This function builds whatever computations need to be executed in each simulation timestep.

Parameters:
signals : signals.SignalDict

mapping from Signal to tf.Tensor (updated by operations)

Returns:
list of ``tf.Tensor``, optional

if not None, the returned tensors correspond to outputs with possible side-effects, i.e. computations that need to be executed in the tensorflow graph even if their output doesn’t appear to be used

class nengo_dl.learning_rules.SimOjaBuilder(ops, signals)[source]

Build a group of SimOja operators.

build_step(signals)[source]

This function builds whatever computations need to be executed in each simulation timestep.

Parameters:
signals : signals.SignalDict

mapping from Signal to tf.Tensor (updated by operations)

Returns:
list of ``tf.Tensor``, optional

if not None, the returned tensors correspond to outputs with possible side-effects, i.e. computations that need to be executed in the tensorflow graph even if their output doesn’t appear to be used

class nengo_dl.learning_rules.SimVojaBuilder(ops, signals)[source]

Build a group of SimVoja operators.

build_step(signals)[source]

This function builds whatever computations need to be executed in each simulation timestep.

Parameters:
signals : signals.SignalDict

mapping from Signal to tf.Tensor (updated by operations)

Returns:
list of ``tf.Tensor``, optional

if not None, the returned tensors correspond to outputs with possible side-effects, i.e. computations that need to be executed in the tensorflow graph even if their output doesn’t appear to be used