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

Class SLISSOM

source code

                        object --+                            
                                 |                            
 param.parameterized.Parameterized --+                        
                                     |                        
        base.simulation.EventProcessor --+                    
                                         |                    
                            object --+   |                    
                                     |   |                    
base.sheetcoords.SheetCoordinateSystem --+                    
                                         |                    
                          base.sheet.Sheet --+                
                                             |                
               base.projection.ProjectionSheet --+            
                                                 |            
                                   base.cf.CFSheet --+        
                                                     |        
                         basic.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 param.parameterized.Parameterized: __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, send_output, start, state_pop, state_push

Inherited from basic.JointNormalizingCFSheet: 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.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_dynamic_time_fn, verbose, warning

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

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

Class Methods [hide private]

Inherited from param.parameterized.Parameterized: params, print_param_defaults

Class Variables [hide private]
  threshold = param.Number(default= 0.3, bounds= (0, None), doc=...
Baseline threshold
  threshold_decay_rate = param.Number(default= 0.01, bounds= (0,...
Dynamic threshold decay rate
  absolute_refractory = param.Number(default= 1.0, bounds= (0, N...
Absolute refractory period
  dynamic_threshold_init = param.Number(default= 2.0, bounds= (0...
Initial value for dynamic threshold when spike occurs
  spike_amplitude = param.Number(default= 1.0, bounds= (0, None)...
Amplitude of spike at the moment of spiking
  reset_on_new_iteration = param.Boolean(default= False, doc= "R...
Reset activity and projection activity when new iteration starts
  noise_rate = param.Number(default= 0.0, bounds= (0, 1.0), doc=...
Noise added to the on-going activity
  trace_coords = param.List(default= [], doc= "List of coord(s) ...
List of coord(s) of membrane potential(s) to track over time
  trace_n = param.Number(default= 400, bounds= (1, None), doc= "...
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: beginning_of_iteration, continuous_learning, end_of_iteration, mask_init_time, output_fn, post_initialization_weights_output_fn, precedence, strict_tsettle, tsettle

Inherited from basic.JointNormalizingCFSheet: joint_norm_fn

Inherited from base.cf.CFSheet: measure_maps

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

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

Inherited from param.parameterized.Parameterized: name, 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 
SLISSOM-specific init, where dynamic threshold stuff gets initialized.
Overrides: object.__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: base.simulation.EventProcessor.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:
param.Number(default= 0.3, bounds= (0, None), doc= "Baseline threshold")

threshold_decay_rate

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

absolute_refractory

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

dynamic_threshold_init

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

spike_amplitude

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

reset_on_new_iteration

Reset activity and projection activity when new iteration starts
Value:
param.Boolean(default= False, doc= "Reset activity and projection activity when ne\
w iteration starts")

noise_rate

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

trace_coords

List of coord(s) of membrane potential(s) to track over time
Value:
param.List(default= [], doc= "List of coord(s) of membrane potential(s) to track o\
ver time")

trace_n

Number of steps to track neuron's membrane potential
Value:
param.Number(default= 400, bounds= (1, None), doc= "Number of steps to track neuro\
n's membrane 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