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

Class SLISSOM

source code


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: 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]
  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
  name = <param.parameterized.String object at 0xb4638ec>
String identifier for this object.

Inherited from lissom.LISSOM: beginning_of_iteration, continuous_learning, end_of_iteration, mask_init_time, output_fns, post_initialization_weights_output_fns, precedence, strict_tsettle, tsettle

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 
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.sheet.Sheet.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 base is zero, the proper base is guessed based on the string content. If the argument is outside the integer range a long object will be returned instead.

Value:
0