def __init__(self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_syn_E=5.0, tau_syn_E2=5.0, tau_syn_I=5.0, tau_refrac=0.1, i_offset=0.0, v=-65.0, isyn_exc=0.0, isyn_inh=0.0, isyn_exc2=0.0): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeDualExponential(tau_syn_E, tau_syn_E2, tau_syn_I, isyn_exc, isyn_exc2, isyn_inh) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(v_thresh) super(IFCurrDualExpBase, self).__init__(model_name="IF_curr_dual_exp", binary="IF_curr_exp_dual.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__(self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_syn_E=5.0, tau_syn_I=5.0, tau_refrac=0.1, i_offset=0.0, tau_ca2=50.0, i_ca2=0.0, i_alpha=0.1, v=-65.0, isyn_exc=0.0, isyn_inh=0.0): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(tau_syn_E, tau_syn_I, isyn_exc, isyn_inh) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(v_thresh) additional_input_type = AdditionalInputCa2Adaptive( tau_ca2, i_ca2, i_alpha) super(IFCurrExpCa2Adaptive, self).__init__(model_name="IF_curr_exp_ca2_adaptive", binary="IF_curr_exp_ca2_adaptive.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, additional_input_type=additional_input_type)
def __init__(self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_syn_E=5.0, tau_syn_I=5.0, tau_refrac=0.1, i_offset=0.0, e_rev_E=0.0, e_rev_I=-70.0, du_th=0.5, tau_th=20.0, v=-65.0, isyn_exc=0.0, isyn_inh=0.0): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(tau_syn_E, tau_syn_I, isyn_exc, isyn_inh) input_type = InputTypeConductance(e_rev_E, e_rev_I) threshold_type = ThresholdTypeMaassStochastic(du_th, tau_th, v_thresh) super(IFCondExpStoc, self).__init__(model_name="IF_cond_exp_stoc", binary="IF_cond_exp_stoc.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__(self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_syn_E=0.5, tau_syn_I=0.5, tau_refrac=0.1, i_offset=0.0, v=-65.0, exc_response=0.0, exc_exp_response=0.0, inh_response=0.0, inh_exp_response=0.0): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeAlpha(exc_response, exc_exp_response, tau_syn_E, inh_response, inh_exp_response, tau_syn_I) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(v_thresh) super(IFCurrAlpha, self).__init__(model_name="IF_curr_alpha", binary="IF_curr_alpha.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__(self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_syn_E=5.0, tau_syn_I=5.0, tau_refrac=0.1, i_offset=0.0, v=-65.0, isyn_exc=0.0, isyn_inh=0.0, multiplicator=0.0, inh_input_previous=0.0): neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(tau_syn_E, tau_syn_I, isyn_exc, isyn_inh) input_type = InputTypeCurrentSEMD(multiplicator, inh_input_previous) threshold_type = ThresholdTypeStatic(v_thresh) super(IFCurrExpSEMDBase, self).__init__(model_name="IF_curr_exp_SEMD", binary="IF_curr_exp_sEMD.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__(self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_syn_E=5.0, tau_syn_E2=5.0, tau_syn_I=5.0, tau_refrac=0.1, i_offset=0.0, v=-65.0, isyn_exc=0.0, isyn_exc2=0.0, isyn_inh=0.0, multiplicator=0.0, exc2_old=0.0, scaling_factor=1.0): neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeSEMD(tau_syn_E, tau_syn_E2, tau_syn_I, isyn_exc, isyn_exc2, isyn_inh, multiplicator, exc2_old, scaling_factor) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(v_thresh) super().__init__(model_name="IF_curr_exp_SEMD", binary="IF_curr_exp_sEMD.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__(self, n_neurons, spikes_per_second=AbstractPopulationVertex. non_pynn_default_parameters['spikes_per_second'], ring_buffer_sigma=AbstractPopulationVertex. non_pynn_default_parameters['ring_buffer_sigma'], incoming_spike_buffer_size=AbstractPopulationVertex. non_pynn_default_parameters['incoming_spike_buffer_size'], constraints=AbstractPopulationVertex. non_pynn_default_parameters['constraints'], label=AbstractPopulationVertex. non_pynn_default_parameters['label'], tau_m=default_parameters['tau_m'], cm=default_parameters['cm'], v_rest=default_parameters['v_rest'], v_reset=default_parameters['v_reset'], v_thresh=default_parameters['v_thresh'], tau_syn_E=default_parameters['tau_syn_E'], tau_syn_I=default_parameters['tau_syn_I'], tau_refrac=default_parameters['tau_refrac'], i_offset=default_parameters['i_offset'], e_rev_E=default_parameters['e_rev_E'], e_rev_I=default_parameters['e_rev_I'], du_th=default_parameters['du_th'], tau_th=default_parameters['tau_th'], v_init=initialize_parameters['v_init'], isyn_exc=default_parameters['isyn_exc'], isyn_inh=default_parameters['isyn_inh']): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( n_neurons, v_init, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(n_neurons, tau_syn_E, tau_syn_I, initial_input_exc=isyn_exc, initial_input_inh=isyn_inh) input_type = InputTypeConductance(n_neurons, e_rev_E, e_rev_I) threshold_type = ThresholdTypeMaassStochastic(n_neurons, du_th, tau_th, v_thresh) super(IFCondExpStoc, self).__init__( n_neurons=n_neurons, binary="IF_cond_exp_stoc.aplx", label=label, max_atoms_per_core=IFCondExpStoc._model_based_max_atoms_per_core, spikes_per_second=spikes_per_second, ring_buffer_sigma=ring_buffer_sigma, incoming_spike_buffer_size=incoming_spike_buffer_size, model_name="IF_cond_exp_stoc", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, constraints=constraints)
def __init__( self, devices, create_edges, translator=None, # default params for the neuron model type tau_m=20.0, cm=1.0, v_rest=0.0, v_reset=0.0, tau_syn_E=5.0, tau_syn_I=5.0, tau_refrac=0.1, i_offset=0.0, v=0.0, isyn_inh=0.0, isyn_exc=0.0): """ :param devices:\ The AbstractMulticastControllableDevice instances to be controlled\ by the population :param create_edges:\ True if edges to the devices should be added by this device (set\ to False if using the device over Ethernet using a translator) :param translator:\ Translator to be used when used for Ethernet communication. Must\ be provided if the device is to be controlled over Ethernet. """ # pylint: disable=too-many-arguments, too-many-locals if not devices: raise ConfigurationException("No devices specified") neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(tau_syn_E, tau_syn_I, isyn_inh, isyn_exc) input_type = InputTypeCurrent() threshold_type = ThresholdTypeMulticastDeviceControl(devices) self._devices = devices self._translator = translator self._create_edges = create_edges super(ExternalDeviceLifControl, self).__init__(model_name="ExternalDeviceLifControl", binary="external_device_lif_control.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__( self, n_neurons, spikes_per_second=_apv_defs['spikes_per_second'], ring_buffer_sigma=_apv_defs['ring_buffer_sigma'], incoming_spike_buffer_size=_apv_defs['incoming_spike_buffer_size'], constraints=_apv_defs['constraints'], label=_apv_defs['label'], tau_m=default_parameters['tau_m'], cm=default_parameters['cm'], v_rest=default_parameters['v_rest'], v_reset=default_parameters['v_reset'], v_thresh=default_parameters['v_thresh'], tau_syn_E=default_parameters['tau_syn_E'], tau_syn_I=default_parameters['tau_syn_I'], tau_refrac=default_parameters['tau_refrac'], i_offset=default_parameters['i_offset'], tau_ca2=default_parameters["tau_ca2"], i_ca2=default_parameters["i_ca2"], i_alpha=default_parameters["i_alpha"], v_init=initialize_parameters['v_init'], isyn_exc=default_parameters['isyn_exc'], isyn_inh=default_parameters['isyn_inh']): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( n_neurons, v_init, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(n_neurons, tau_syn_E, tau_syn_I, initial_input_exc=isyn_exc, initial_input_inh=isyn_inh) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(n_neurons, v_thresh) additional_input = AdditionalInputCa2Adaptive(n_neurons, tau_ca2, i_ca2, i_alpha) super(IFCurrExpCa2Adaptive, self).__init__( n_neurons=n_neurons, binary="IF_curr_exp_ca2_adaptive.aplx", label=label, max_atoms_per_core=self._model_based_max_atoms_per_core, spikes_per_second=spikes_per_second, ring_buffer_sigma=ring_buffer_sigma, incoming_spike_buffer_size=incoming_spike_buffer_size, model_name="IF_curr_exp_ca2_adaptive", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, additional_input=additional_input, constraints=constraints)
def __init__( self, n_neurons, spikes_per_second=None, ring_buffer_sigma=None, incoming_spike_buffer_size=None, constraints=None, label=None, tau_m=default_parameters['tau_m'], cm=default_parameters['cm'], v_rest=default_parameters['v_rest'], v_reset=default_parameters['v_reset'], v_thresh=default_parameters['v_thresh'], exc_response=non_pynn_default_parameters['exc_response'], exc_exp_response=non_pynn_default_parameters['exc_exp_response'], tau_syn_E=default_parameters['tau_syn_E'], inh_response=non_pynn_default_parameters['inh_response'], inh_exp_response=non_pynn_default_parameters['inh_exp_response'], tau_syn_I=default_parameters['tau_syn_I'], tau_refrac=default_parameters['tau_refrac'], i_offset=default_parameters['i_offset'], v_init=initialize_parameters['v_init']): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( n_neurons, v_init, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeAlpha(n_neurons, exc_response, exc_exp_response, tau_syn_E, inh_response, inh_exp_response, tau_syn_I) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(n_neurons, v_thresh) super(IFCurrAlpha, self).__init__( n_neurons=n_neurons, binary="IF_curr_alpha.aplx", label=label, max_atoms_per_core=IFCurrAlpha._model_based_max_atoms_per_core, spikes_per_second=spikes_per_second, ring_buffer_sigma=ring_buffer_sigma, incoming_spike_buffer_size=incoming_spike_buffer_size, model_name="IF_curr_alpha", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, constraints=constraints)
def __init__( self, tau_m=20.0, cm=1.0, v_rest=-65.0, v_reset=-65.0, v_thresh=-50.0, tau_refrac=0.1, i_offset=0.0, v=-65.0, isyn_exc=0.0, isyn_inh=0.0): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( v, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeDelta(isyn_inh, isyn_exc) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(v_thresh) super(IFCurrDelta, self).__init__( model_name="IF_curr_delta", binary="IF_curr_delta.aplx", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type)
def __init__(self, n_neurons, spikes_per_second=AbstractPopulationVertex. non_pynn_default_parameters['spikes_per_second'], ring_buffer_sigma=AbstractPopulationVertex. non_pynn_default_parameters['ring_buffer_sigma'], incoming_spike_buffer_size=AbstractPopulationVertex. non_pynn_default_parameters['incoming_spike_buffer_size'], constraints=AbstractPopulationVertex. non_pynn_default_parameters['constraints'], label=AbstractPopulationVertex. non_pynn_default_parameters['label'], tau_m=default_parameters['tau_m'], cm=default_parameters['cm'], v_rest=default_parameters['v_rest'], v_reset=default_parameters['v_reset'], v_thresh=default_parameters['v_thresh'], tau_refrac=default_parameters['tau_refrac'], i_offset=default_parameters['i_offset'], v_init=initialize_parameters['v_init'], isyn_exc=default_parameters['isyn_exc'], isyn_inh=default_parameters['isyn_inh']): # pylint: disable=too-many-arguments, too-many-locals neuron_model = NeuronModelLeakyIntegrateAndFire( n_neurons, v_init, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeDelta(n_neurons=n_neurons, initial_input_inh=isyn_inh, initial_input_exc=isyn_exc) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(n_neurons, v_thresh) super(IFCurrDelta, self).__init__( n_neurons=n_neurons, binary="IF_curr_delta.aplx", label=label, max_atoms_per_core=IFCurrDelta._model_based_max_atoms_per_core, spikes_per_second=spikes_per_second, ring_buffer_sigma=ring_buffer_sigma, incoming_spike_buffer_size=incoming_spike_buffer_size, model_name="IF_curr_delta", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, constraints=constraints)
def __init__( self, n_neurons, spikes_per_second=AbstractPopulationVertex. none_pynn_default_parameters['spikes_per_second'], ring_buffer_sigma=AbstractPopulationVertex. none_pynn_default_parameters['ring_buffer_sigma'], incoming_spike_buffer_size=AbstractPopulationVertex. none_pynn_default_parameters['incoming_spike_buffer_size'], constraints=AbstractPopulationVertex.none_pynn_default_parameters[ 'constraints'], label=AbstractPopulationVertex.none_pynn_default_parameters[ 'label'], tau_m=default_parameters['tau_m'], cm=default_parameters['cm'], v_rest=default_parameters['v_rest'], v_reset=default_parameters['v_reset'], v_thresh=default_parameters['v_thresh'], tau_syn_E=default_parameters['tau_syn_E'], tau_syn_I=default_parameters['tau_syn_I'], tau_refrac=default_parameters['tau_refrac'], i_offset=default_parameters['i_offset'], v_init=none_pynn_default_parameters['v_init'], isyn_exc=default_parameters['isyn_exc'], isyn_inh=default_parameters['isyn_inh']): neuron_model = NeuronModelLeakyIntegrateAndFire( n_neurons, v_init, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponentialSupervision( n_neurons, tau_syn_E, tau_syn_I, isyn_exc, isyn_inh) input_type = InputTypeCurrent() threshold_type = ThresholdTypeStatic(n_neurons, v_thresh) AbstractPopulationVertex.__init__( self, n_neurons=n_neurons, binary="IF_curr_exp_supervision.aplx", label=label, max_atoms_per_core=IFCurrExpSupervision._model_based_max_atoms_per_core, spikes_per_second=spikes_per_second, ring_buffer_sigma=ring_buffer_sigma, incoming_spike_buffer_size=incoming_spike_buffer_size, model_name="IF_curr_exp_supervision", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, constraints=constraints)
def __init__( self, n_neurons, devices, create_edges, translator=None, # standard neuron stuff spikes_per_second=_apv_defs['spikes_per_second'], label=_apv_defs['label'], ring_buffer_sigma=_apv_defs['ring_buffer_sigma'], incoming_spike_buffer_size=_apv_defs['incoming_spike_buffer_size'], constraints=_apv_defs['constraints'], # default params for the neuron model type tau_m=default_parameters['tau_m'], cm=default_parameters['cm'], v_rest=default_parameters['v_rest'], v_reset=default_parameters['v_reset'], tau_syn_E=default_parameters['tau_syn_E'], tau_syn_I=default_parameters['tau_syn_I'], tau_refrac=default_parameters['tau_refrac'], i_offset=default_parameters['i_offset'], v_init=initialize_parameters['v_init'], isyn_inh=default_parameters['isyn_inh'], isyn_exc=default_parameters['isyn_exc']): """ :param n_neurons: The number of neurons in the population :param devices:\ The AbstractMulticastControllableDevice instances to be controlled\ by the population :param create_edges:\ True if edges to the devices should be added by this dev (set\ to False if using the dev over Ethernet using a translator) :param translator:\ Translator to be used when used for Ethernet communication. Must\ be provided if the dev is to be controlled over Ethernet. """ # pylint: disable=too-many-arguments, too-many-locals if not devices: raise ConfigurationException("No devices specified") # Verify that there are the correct number of neurons if n_neurons != len(devices): raise ConfigurationException( "The number of neurons must match the number of devices") # Create a partition to key map self._partition_id_to_key = OrderedDict( (str(dev.device_control_partition_id), dev.device_control_key) for dev in devices) # Create a partition to atom map self._partition_id_to_atom = { partition: i for (i, partition) in enumerate(self._partition_id_to_key.keys()) } neuron_model = NeuronModelLeakyIntegrateAndFire( n_neurons, v_init, v_rest, tau_m, cm, i_offset, v_reset, tau_refrac) synapse_type = SynapseTypeExponential(n_neurons, tau_syn_E, tau_syn_I, initial_input_inh=isyn_inh, initial_input_exc=isyn_exc) input_type = InputTypeCurrent() threshold_type = ThresholdTypeMulticastDeviceControl(devices) self._devices = devices self._message_translator = translator # Add the edges to the devices if required self._dependent_vertices = list() if create_edges: self._dependent_vertices = devices super(ExternalDeviceLifControl, self).__init__( n_neurons=n_neurons, binary="external_device_lif_control.aplx", label=label, max_atoms_per_core=( ExternalDeviceLifControl._model_based_max_atoms_per_core), spikes_per_second=spikes_per_second, ring_buffer_sigma=ring_buffer_sigma, incoming_spike_buffer_size=incoming_spike_buffer_size, model_name="ExternalDeviceLifControl", neuron_model=neuron_model, input_type=input_type, synapse_type=synapse_type, threshold_type=threshold_type, constraints=constraints)