pynn_brainscales.brainscales2.standardmodels.cells.CalibHXNeuronCuba

class pynn_brainscales.brainscales2.standardmodels.cells.CalibHXNeuronCuba(plasticity_rule: Optional[pynn_brainscales.brainscales2.plasticity_rules.PlasticityRule] = None, *, v_rest: Optional[Union[int, List, numpy.ndarray]] = None, v_reset: Optional[Union[int, List, numpy.ndarray]] = None, v_thresh: Optional[Union[int, List, numpy.ndarray]] = None, tau_m: Optional[Union[int, List, numpy.ndarray]] = None, tau_syn_E: Optional[Union[int, List, numpy.ndarray]] = None, tau_syn_I: Optional[Union[int, List, numpy.ndarray]] = None, cm: Optional[Union[int, List, numpy.ndarray]] = None, tau_refrac: Optional[Union[int, List, numpy.ndarray]] = None, i_synin_gm_E: Optional[Union[int, List, numpy.ndarray]] = None, i_synin_gm_I: Optional[Union[int, List, numpy.ndarray]] = None, synapse_dac_bias: Optional[Union[int, List, numpy.ndarray]] = None, **parameters)

Bases: pynn_brainscales.brainscales2.standardmodels.cells_base.NeuronCellType

HX Neuron with automated calibration. Cell parameters correspond to parameters for Calix spiking calibration.

Uses current-based synapses.

__init__(plasticity_rule: Optional[pynn_brainscales.brainscales2.plasticity_rules.PlasticityRule] = None, *, v_rest: Optional[Union[int, List, numpy.ndarray]] = None, v_reset: Optional[Union[int, List, numpy.ndarray]] = None, v_thresh: Optional[Union[int, List, numpy.ndarray]] = None, tau_m: Optional[Union[int, List, numpy.ndarray]] = None, tau_syn_E: Optional[Union[int, List, numpy.ndarray]] = None, tau_syn_I: Optional[Union[int, List, numpy.ndarray]] = None, cm: Optional[Union[int, List, numpy.ndarray]] = None, tau_refrac: Optional[Union[int, List, numpy.ndarray]] = None, i_synin_gm_E: Optional[Union[int, List, numpy.ndarray]] = None, i_synin_gm_I: Optional[Union[int, List, numpy.ndarray]] = None, synapse_dac_bias: Optional[Union[int, List, numpy.ndarray]] = None, **parameters)

Set initial neuron parameters.

All parameters except for the plasticity rule have to be either 1-dimensional or population-size dimensional.

Additional keyword arguments are also saved in the parameter space of the neuron but do not influence the calibration.

Parameters
  • plasticity_rule – Plasticity rule which is evaluated periodically during the experiment to change the parameters of the neuron.

  • v_rest – Resting potential. Value range [50, 160].

  • v_reset – Reset potential. Value range [50, 160].

  • v_thresh – Threshold potential. Value range [50, 220].

  • tau_m – Membrane time constant. Value range [0.5, 60]us.

  • tau_syn_E – Excitatory synaptic input time constant. Value range [0.3, 30]us.

  • tau_syn_I – Inhibitory synaptic input time constant. Value range [0.3, 30]us.

  • cm – Membrane capacitance. Value range [0, 63].

  • tau_refrac – Refractory time. Value range [.04, 32]us.

  • i_synin_gm_E – Excitatory synaptic input strength bias current. Scales the strength of excitatory weights. Technical parameter which needs to be same for all populations. Value range [30, 800].

  • i_synin_gm_I – Inhibitory synaptic input strength bias current. Scales the strength of excitatory weights. Technical parameter which needs to be same for all populations. Value range [30, 800].

  • synapse_dac_bias – Synapse DAC bias current. Technical parameter which needs to be same for all populations Can be lowered in order to reduce the amplitude of a spike at the input of the synaptic input OTA. This can be useful to avoid saturation when using larger synaptic time constants. Value range [30, 1022].

Methods

__init__([plasticity_rule, v_rest, v_reset, …])

Set initial neuron parameters.

add_calib_params(calib_params, cell_ids)

add_to_chip(cell_ids, config)

Add configuration of each neuron in the parameter space to the given chip object.

add_to_input_generator(population, builder, …)

Add external events to input generator.

add_to_network_graph(population, builder)

Add population to network builder.

can_record(variable[, location])

Attributes

actual_hwparams

Hardware parameters used for actual hardware execution, can be manually adjusted.

calib_hwparams

Archive of resulting hardware parameters from last calibration run.

calib_target

Archive of cell parameters used for last calibration run.

conductance_based

default_parameters

logical_compartments

param_trans

receptor_types

recordable

translations

units

property actual_hwparams

Hardware parameters used for actual hardware execution, can be manually adjusted.

Only set after pynn.preprocess() or pynn.run() call.

add_calib_params(calib_params: Dict, cell_ids: List)Dict
add_to_chip(cell_ids: List, config: pylola_vx_v3.Chip)

Add configuration of each neuron in the parameter space to the given chip object.

Parameters
  • cell_ids – Cell IDs for each neuron in the parameter space of this celltype object.

  • chip – Lola chip object which is altered.

static add_to_input_generator(population: pyNN.common.populations.Population, builder: _pygrenade_vx_network.InputGenerator, snippet_begin_time, snippet_end_time)

Add external events to input generator. :param population: Population to add featuring this cell’s celltype. :param builder: Input builder to add external events to.

static add_to_network_graph(population: pyNN.common.populations.Population, builder: _pygrenade_vx_network.NetworkBuilder)_pygrenade_vx_network.PopulationOnNetwork

Add population to network builder. :param population: Population to add featuring this cell’s celltype. :param builder: Network builder to add population to. :return: Descriptor of added population

property calib_hwparams

Archive of resulting hardware parameters from last calibration run.

Only set after pynn.preprocess() or pynn.run() call.

property calib_target

Archive of cell parameters used for last calibration run.

Only set after pynn.preprocess() or pynn.run() call.

can_record(variable: str, location=None)bool
conductance_based: Final[bool] = False
default_parameters: Final[Dict[str, Any]] = {'cm': 63, 'i_synin_gm_E': 500, 'i_synin_gm_I': 500, 'plasticity_rule_enable_readout_source': False, 'plasticity_rule_readout_source': 0.0, 'synapse_dac_bias': 600, 'tau_m': 10.0, 'tau_refrac': 2.0, 'tau_syn_E': 10.0, 'tau_syn_I': 10.0, 'v_reset': 70.0, 'v_rest': 80.0, 'v_thresh': 125.0}
logical_compartments: Final[pyhalco_hicann_dls_vx_v3.LogicalNeuronCompartments] = LogicalNeuronCompartments( CompartmentOnLogicalNeuron(0) AtomicNeuronOnLogicalNeuron(NeuronColumnOnLogicalNeuron(0), NeuronRowOnLogicalNeuron(0); Enum(0)) )
param_trans = {'adaptation': 'adaptation', 'cm': 'membrane_capacitance', 'exc_synin': 'exc_synin', 'i_synin_gm_E': 'i_synin_gm', 'i_synin_gm_I': 'i_synin_gm', 'inh_synin': 'inh_synin', 'plasticity_rule_enable_readout_source': 'plasticity_rule_enable_readout_source', 'plasticity_rule_readout_source': 'plasticity_rule_readout_source', 'synapse_dac_bias': 'synapse_dac_bias', 'tau_m': 'tau_mem', 'tau_refrac': 'refractory_time', 'tau_syn_E': 'tau_syn', 'tau_syn_I': 'tau_syn', 'v': 'v', 'v_reset': 'reset', 'v_rest': 'leak', 'v_thresh': 'threshold'}
receptor_types: Final[List[str]] = ['excitatory', 'inhibitory']
recordable: Final[List[str]] = ['spikes', 'v', 'exc_synin', 'inh_synin', 'adaptation']
translations: Final[Dict[str, str]] = {'adaptation': {'forward_transform': 'adaptation', 'reverse_transform': 'adaptation', 'translated_name': 'adaptation'}, 'cm': {'forward_transform': 'cm', 'reverse_transform': 'cm', 'translated_name': 'cm'}, 'exc_synin': {'forward_transform': 'exc_synin', 'reverse_transform': 'exc_synin', 'translated_name': 'exc_synin'}, 'i_synin_gm_E': {'forward_transform': 'i_synin_gm_E', 'reverse_transform': 'i_synin_gm_E', 'translated_name': 'i_synin_gm_E'}, 'i_synin_gm_I': {'forward_transform': 'i_synin_gm_I', 'reverse_transform': 'i_synin_gm_I', 'translated_name': 'i_synin_gm_I'}, 'inh_synin': {'forward_transform': 'inh_synin', 'reverse_transform': 'inh_synin', 'translated_name': 'inh_synin'}, 'plasticity_rule_enable_readout_source': {'forward_transform': 'plasticity_rule_enable_readout_source', 'reverse_transform': 'plasticity_rule_enable_readout_source', 'translated_name': 'plasticity_rule_enable_readout_source'}, 'plasticity_rule_readout_source': {'forward_transform': 'plasticity_rule_readout_source', 'reverse_transform': 'plasticity_rule_readout_source', 'translated_name': 'plasticity_rule_readout_source'}, 'synapse_dac_bias': {'forward_transform': 'synapse_dac_bias', 'reverse_transform': 'synapse_dac_bias', 'translated_name': 'synapse_dac_bias'}, 'tau_m': {'forward_transform': 'tau_m', 'reverse_transform': 'tau_m', 'translated_name': 'tau_m'}, 'tau_refrac': {'forward_transform': 'tau_refrac', 'reverse_transform': 'tau_refrac', 'translated_name': 'tau_refrac'}, 'tau_syn_E': {'forward_transform': 'tau_syn_E', 'reverse_transform': 'tau_syn_E', 'translated_name': 'tau_syn_E'}, 'tau_syn_I': {'forward_transform': 'tau_syn_I', 'reverse_transform': 'tau_syn_I', 'translated_name': 'tau_syn_I'}, 'v': {'forward_transform': 'v', 'reverse_transform': 'v', 'translated_name': 'v'}, 'v_reset': {'forward_transform': 'v_reset', 'reverse_transform': 'v_reset', 'translated_name': 'v_reset'}, 'v_rest': {'forward_transform': 'v_rest', 'reverse_transform': 'v_rest', 'translated_name': 'v_rest'}, 'v_thresh': {'forward_transform': 'v_thresh', 'reverse_transform': 'v_thresh', 'translated_name': 'v_thresh'}}
units: Final[Dict[str, str]] = {'adaptation': 'dimensionless', 'cm': 'dimensionless', 'exc_synin': 'dimensionless', 'i_synin_gm_E': 'dimensionless', 'i_synin_gm_I': 'dimensionless', 'inh_synin': 'dimensionless', 'plasticity_rule_enable_readout_source': 'dimensionless', 'plasticity_rule_readout_source': 'dimensionless', 'synapse_dac_bias': 'dimensionless', 'tau_m': 'us', 'tau_refrac': 'us', 'tau_syn_E': 'us', 'tau_syn_I': 'us', 'v': 'dimensionless', 'v_reset': 'dimensionless', 'v_rest': 'dimensionless', 'v_thresh': 'dimensionless'}