Package topo :: Package sheets :: Module slissom :: Class SLISSOM
[hide private]
[frames] | no frames]

Class SLISSOM

source code

                                  object --+                            
                                           |                            
base.parameterizedobject.ParameterizedObject --+                        
                                               |                        
                  base.simulation.EventProcessor --+                    
                                                   |                    
                                      object --+   |                    
                                               |   |                    
          base.sheetcoords.SheetCoordinateSystem --+                    
                                                   |                    
                                    base.sheet.Sheet --+                
                                                       |                
                         base.projection.ProjectionSheet --+            
                                                           |            
                                             base.cf.CFSheet --+        
                                                               |        
                                  lissom.JointNormalizingCFSheet --+    
                                                                   |    
                                                       lissom.LISSOM --+
                                                                       |
                                                                      SLISSOM

A Sheet class implementing the SLISSOM algorithm (Choe and Miikkulainen, Neurocomputing 21:139-157, 1998).

A SLISSOM sheet is a LISSOM sheet extended to include spiking neurons using dynamic synapses.



Nested Classes [hide private]

Inherited from base.parameterizedobject.ParameterizedObject: __metaclass__

Instance Methods [hide private]
 
__init__(self, **params)
SLISSOM-specific init, where dynamic threshold stuff gets initialized.
source code
 
activate(self)
For now, this is the same as the parent's activate(), plus fixed+dynamic thresholding.
source code
 
input_event(self, conn, data)
SLISSOM-specific input_event handeling: On a new afferent input, DO NOT clear the activity matrix unless reset_on_new_iteration is True.
source code
 
plot_trace(self)
Plot membrane potential trace of the unit designated by the trace_coords list.
source code
 
vectorplot_trace(self)
Plot membrane potential trace of the unit designated by the trace_coords list.
source code
 
matrixplot_trace(self)
Matrixplot membrane potential trace of the unit designated by the trace_coords list.
source code
 
_update_trace(self)
Update membrane potential trace for sheet coordinate (x,y).
source code

Inherited from lissom.LISSOM: printwts, process_current_time, start, state_pop, state_push

Inherited from lissom.JointNormalizingCFSheet: compute_joint_norm_totals, learn

Inherited from base.cf.CFSheet: release_unit_view, update_unit_view

Inherited from base.projection.ProjectionSheet: 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_offset, sheet_rows

Inherited from base.simulation.EventProcessor: script_repr, send_output

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

Inherited from base.parameterizedobject.ParameterizedObject: __getstate__, __repr__, __setstate__, __str__, as_uninitialized, debug, defaults, force_new_dynamic_value, get_param_values, get_value_generator, inspect_value, message, print_param_values, verbose, warning

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

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

Class Methods [hide private]

Inherited from base.parameterizedobject.ParameterizedObject: params, print_param_defaults

Class Variables [hide private]
  threshold = <topo.base.parameterclasses.Number object at 0xa8f...
Baseline threshold
  threshold_decay_rate = <topo.base.parameterclasses.Number obje...
Dynamic threshold decay rate
  absolute_refractory = <topo.base.parameterclasses.Number objec...
Absolute refractory period
  dynamic_threshold_init = <topo.base.parameterclasses.Number ob...
Initial value for dynamic threshold when spike occurs
  spike_amplitude = <topo.base.parameterclasses.Number object at...
Amplitude of spike at the moment of spiking
  reset_on_new_iteration = <topo.base.parameterclasses.BooleanPa...
Reset activity and projection activity when new iteration starts
  noise_rate = <topo.base.parameterclasses.Number object at 0xa8...
Noise added to the on-going activity
  trace_coords = <topo.base.parameterclasses.ListParameter objec...
List of coord(s) of membrane potential(s) to track over time
  trace_n = Number(default= 400, bounds= (1, None), doc= "Number...
Number of steps to track neuron's membrane potential
  dynamic_threshold = None
  spike = None
  spike_history = None
  membrane_potential = None
  membrane_potential_trace = None
  trace_count = 0
int(x[, base]) -> integer

Inherited from lissom.LISSOM: continuous_learning, mask_init_time, output_fn, post_initialization_weights_output_fn, precedence, tsettle

Inherited from base.cf.CFSheet: measure_maps

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

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

Inherited from base.parameterizedobject.ParameterizedObject: name, print_level

Properties [hide private]

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

Inherited from object: __class__

Method Details [hide private]

__init__(self, **params)
(Constructor)

source code 
SLISSOM-specific init, where dynamic threshold stuff gets initialized.
Overrides: lissom.LISSOM.__init__

activate(self)

source code 
For now, this is the same as the parent's activate(), plus fixed+dynamic thresholding. Overloading was necessary to avoid self.send_output() being invoked before thresholding. This function also updates and maintains internal values such as membrane_potential, spike, etc.
Overrides: base.projection.ProjectionSheet.activate

input_event(self, conn, data)

source code 
SLISSOM-specific input_event handeling: On a new afferent input, DO NOT clear the activity matrix unless reset_on_new_iteration is True.
Overrides: lissom.LISSOM.input_event

plot_trace(self)

source code 
Plot membrane potential trace of the unit designated by the trace_coords list. This plot has trace_n data points.

vectorplot_trace(self)

source code 
Plot membrane potential trace of the unit designated by the trace_coords list. This plot has trace_n data points. This method simply calls plot_trace().

Class Variable Details [hide private]

threshold

Baseline threshold
Value:
Number(default= 0.3, bounds= (0, None), doc= "Baseline threshold")

threshold_decay_rate

Dynamic threshold decay rate
Value:
Number(default= 0.01, bounds= (0, None), doc= "Dynamic threshold decay rate")

absolute_refractory

Absolute refractory period
Value:
Number(default= 1.0, bounds= (0, None), doc= "Absolute refractory period")

dynamic_threshold_init

Initial value for dynamic threshold when spike occurs
Value:
Number(default= 2.0, bounds= (0, None), doc= "Initial value for dynamic threshold \
when spike occurs")

spike_amplitude

Amplitude of spike at the moment of spiking
Value:
Number(default= 1.0, bounds= (0, None), doc= "Amplitude of spike at the moment of \
spiking")

reset_on_new_iteration

Reset activity and projection activity when new iteration starts
Value:
BooleanParameter(default= False, doc= "Reset activity and projection activity when\
 new iteration starts")

noise_rate

Noise added to the on-going activity
Value:
Number(default= 0.0, bounds= (0, 1.0), doc= "Noise added to the on-going activity"\
)

trace_coords

List of coord(s) of membrane potential(s) to track over time
Value:
ListParameter(default= [], doc= "List of coord(s) of membrane potential(s) to trac\
k over time")

trace_n

Number of steps to track neuron's membrane potential
Value:
Number(default= 400, bounds= (1, None), doc= "Number of steps to track neuron's me\
mbrane potential")

trace_count

int(x[, base]) -> integer

Convert a string or number to an integer, if possible. A floating point argument will be truncated towards zero (this does not include a string representation of a floating point number!) When converting a string, use the optional base. It is an error to supply a base when converting a non-string. If the argument is outside the integer range a long object will be returned instead.

Value:
0