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
Hardware parameters used for actual hardware execution, can be manually adjusted.
Archive of resulting hardware parameters from last calibration run.
Archive of cell parameters used for last calibration run.
-
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'}
-