Package topo :: Package sheet :: Module lissom :: Class LISSOM
[hide private]
[frames] | no frames]

Class LISSOM

source code


A Sheet class implementing the LISSOM algorithm (Sirosh and Miikkulainen, Biological Cybernetics 71:66-78, 1994).

A LISSOM sheet is a JointNormalizingCFSheet slightly modified to enforce a fixed number of settling steps. Settling is controlled by the tsettle parameter; once that number of settling steps has been reached, an external input is required before the sheet will activate again.

Nested Classes [hide private]

Inherited from param.parameterized.Parameterized: __metaclass__

Instance Methods [hide private]
 
__init__(self, **params)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
start(self)
Called by the simulation when the EventProcessor is added to the simulation.
source code
 
input_event(self, conn, data)
Called by the simulation when an EPConnectionEvent is delivered; the EventProcessor should process the data somehow.
source code
 
process_current_time(self)
Pass the accumulated stimulation through self.output_fns and send it out on the default output port.
source code
 
printwts(self, x, y) source code
 
state_push(self, **args)
Save this instance's state.
source code
 
state_pop(self, **args)
Restore the most recently saved state.
source code
 
send_output(self, src_port=None, data=None)
Send some data out to all connections on the given src_port.
source code

Inherited from basic.JointNormalizingCFSheet: learn

Inherited from base.cf.CFSheet: release_unit_view, update_unit_view

Inherited from base.projection.ProjectionSheet: activate, n_bytes, n_conns, override_plasticity_state, present_input, projections, restore_plasticity_state

Inherited from base.sheet.Sheet: activity_len, release_sheet_view, row_col_sheetcoords, sheet_cols, sheet_rows, sheetcoords_of_idx_grid

Inherited from base.sheet.Sheet (private): _get_density

Inherited from base.simulation.EventProcessor: script_repr

Inherited from base.simulation.EventProcessor (private): _src_connect

Inherited from param.parameterized.Parameterized: __getstate__, __repr__, __setstate__, __str__, debug, defaults, force_new_dynamic_value, get_param_values, get_value_generator, inspect_value, message, print_param_values, set_default, set_dynamic_time_fn, set_param, verbose, warning

Inherited from base.sheetcoords.SheetCoordinateSystem: closest_cell_center, matrix2sheet, matrixidx2sheet, sheet2matrix, sheet2matrixidx, sheetcoordinates_of_matrixidx

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Class Methods [hide private]

Inherited from param.parameterized.Parameterized: params, print_param_defaults

Class Variables [hide private]
  strict_tsettle = param.Parameter(default= None, doc= ...
If non-None, delay sending output until activation_count reaches this value.
  mask_init_time = param.Integer(default= 5, bounds= (0, None), ...
Determines when a new mask is initialized in each new iteration.
  tsettle = param.Integer(default= 8, bounds= (0, None), doc= ...
Number of times to activate the LISSOM sheet for each external input event.
  continuous_learning = param.Boolean(default= False, doc= ...
Whether to modify the weights after every settling step.
  output_fns = param.HookList(default= [PiecewiseLinear(lower_bo...
Output function(s) to apply (if apply_output_fns is true) to this Sheet's activity.
  precedence = param.Number(0.6)
Allows a sorting order for Sheets, e.g.
  post_initialization_weights_output_fns = param.HookList([], do...
If not empty, weights output_fns that will replace the existing ones after an initial normalization step.
  beginning_of_iteration = param.HookList(default= [], instantia...
List of callables to be executed at the beginning of each iteration.
  end_of_iteration = param.HookList(default= [], instantiate= Fa...
List of callables to be executed at the end of each iteration.
  name = <param.parameterized.String object at 0xa1ddf44>
String identifier for this object.

Inherited from basic.JointNormalizingCFSheet: joint_norm_fn

Inherited from base.cf.CFSheet: measure_maps

Inherited from base.projection.ProjectionSheet: allow_skip_non_responding_units, dest_ports, mask, src_ports

Inherited from base.sheet.Sheet: apply_output_fns, layout_location, nominal_bounds, nominal_density, plastic, row_precedence

Inherited from param.parameterized.Parameterized: print_level

Properties [hide private]

Inherited from base.sheet.Sheet: density

Inherited from base.sheetcoords.SheetCoordinateSystem: shape, xdensity, ydensity

Inherited from object: __class__

Method Details [hide private]

__init__(self, **params)
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Overrides: object.__init__
(inherited documentation)

start(self)

source code 

Called by the simulation when the EventProcessor is added to the simulation.

If an EventProcessor needs to have any code run when it is added to the simulation, the code can be put into this method in the subclass.

Overrides: base.simulation.EventProcessor.start
(inherited documentation)

input_event(self, conn, data)

source code 
Called by the simulation when an EPConnectionEvent is delivered; the EventProcessor should process the data somehow.
Overrides: base.simulation.EventProcessor.input_event
(inherited documentation)

process_current_time(self)

source code 
Pass the accumulated stimulation through self.output_fns and send it out on the default output port.
Overrides: base.simulation.EventProcessor.process_current_time

state_push(self, **args)

source code 

Save this instance's state.

For Parameterized instances, this includes the state of dynamically generated values.

Subclasses that maintain short-term state should additionally save and restore that state using state_push() and state_pop().

Generally, this method is used by operations that need to test something without permanently altering the objects' state.

Overrides: param.parameterized.Parameterized.state_push
(inherited documentation)

state_pop(self, **args)

source code 

Restore the most recently saved state.

See state_push() for more details.

Overrides: param.parameterized.Parameterized.state_pop
(inherited documentation)

send_output(self, src_port=None, data=None)

source code 
Send some data out to all connections on the given src_port.
Overrides: base.simulation.EventProcessor.send_output

Class Variable Details [hide private]

strict_tsettle

If non-None, delay sending output until activation_count reaches this value.
Value:
param.Parameter(default= None, doc= """
        If non-None, delay sending output until activation_count reaches this valu\
e.""")

mask_init_time

Determines when a new mask is initialized in each new iteration.

The mask is reset whenever new input comes in. Once the activation_count (see tsettle) reaches mask_init_time, the mask is initialized to reflect the current activity profile.

Value:
param.Integer(default= 5, bounds= (0, None), doc= """ 
        Determines when a new mask is initialized in each new iteration.

        The mask is reset whenever new input comes in.  Once the
        activation_count (see tsettle) reaches mask_init_time, the mask
        is initialized to reflect the current activity profile.""")

tsettle

Number of times to activate the LISSOM sheet for each external input event.

A counter is incremented each time an input is received from any source, and once the counter reaches tsettle, the last activation step is skipped so that there will not be any further recurrent activation. The next external (i.e., afferent or feedback) event will then start the counter over again.

Value:
param.Integer(default= 8, bounds= (0, None), doc= """
        Number of times to activate the LISSOM sheet for each external input event\
.
       
        A counter is incremented each time an input is received from any
        source, and once the counter reaches tsettle, the last activation
        step is skipped so that there will not be any further recurrent
        activation.  The next external (i.e., afferent or feedback)
...

continuous_learning

Whether to modify the weights after every settling step. If false, waits until settling is completed before doing learning.
Value:
param.Boolean(default= False, doc= """
        Whether to modify the weights after every settling step.
        If false, waits until settling is completed before doing learning.""")

output_fns

Output function(s) to apply (if apply_output_fns is true) to this Sheet's activity.
Value:
param.HookList(default= [PiecewiseLinear(lower_bound= 0.1, upper_bound= 0.65)])

precedence

Allows a sorting order for Sheets, e.g. in the GUI.
Value:
param.Number(0.6)

post_initialization_weights_output_fns

If not empty, weights output_fns that will replace the existing ones after an initial normalization step.
Value:
param.HookList([], doc= """
        If not empty, weights output_fns that will replace the
        existing ones after an initial normalization step.""")

beginning_of_iteration

List of callables to be executed at the beginning of each iteration.
Value:
param.HookList(default= [], instantiate= False, doc= """
        List of callables to be executed at the beginning of each iteration.""")

end_of_iteration

List of callables to be executed at the end of each iteration.
Value:
param.HookList(default= [], instantiate= False, doc= """
        List of callables to be executed at the end of each iteration.""")