pynn_brainscales.brainscales2.standardmodels.cells.CalibHXNeuronCuba
-
class
pynn_brainscales.brainscales2.standardmodels.cells.CalibHXNeuronCuba(plasticity_rule: Optional[pynn_brainscales.brainscales2.plasticity_rules.PlasticityRule, None] = 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.NeuronCellTypeHX 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] = 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.
can_record(variable[, location])generate_calibration_targets(population)generate_input_data(population, experiment, …)Generate input data for this population.
generate_vertex(population)Generate vertex representation for this population.
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.
-
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}
-
static
generate_calibration_targets(population: pyNN.common.populations.Population) → List[Dict[pygrenade_common.CompartmentOnNeuron, List[_pygrenade_vx_network_abstract.CalibratedNeuron.ParameterSpace.CalibrationTarget]]]
-
generate_input_data(population: pyNN.common.populations.Population, experiment: pygrenade_vx.network.abstract.frontend.ExperimentSnippet, snippet_begin_time: float, snippet_end_time: float) → Dict[int, pygrenade_common.PortData] Generate input data for this population. :param population: Population featuring this cell’s celltype :param experiment: Experiment snippet to generate data for :param snippet_begin_time: Begin time of snippet :param snippet_end_time: End time of snippet :return: Population input data
-
static
generate_vertex(population: pyNN.common.populations.Population) → pygrenade_common.Population Generate vertex representation for this population. :param population: Population featuring this cell’s celltype :return: Population vertex
-
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', 'type': 'simple'}, 'cm': {'forward_transform': 'cm', 'reverse_transform': 'cm', 'translated_name': 'cm', 'type': 'simple'}, 'exc_synin': {'forward_transform': 'exc_synin', 'reverse_transform': 'exc_synin', 'translated_name': 'exc_synin', 'type': 'simple'}, 'i_synin_gm_E': {'forward_transform': 'i_synin_gm_E', 'reverse_transform': 'i_synin_gm_E', 'translated_name': 'i_synin_gm_E', 'type': 'simple'}, 'i_synin_gm_I': {'forward_transform': 'i_synin_gm_I', 'reverse_transform': 'i_synin_gm_I', 'translated_name': 'i_synin_gm_I', 'type': 'simple'}, 'inh_synin': {'forward_transform': 'inh_synin', 'reverse_transform': 'inh_synin', 'translated_name': 'inh_synin', 'type': 'simple'}, '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', 'type': 'simple'}, 'plasticity_rule_readout_source': {'forward_transform': 'plasticity_rule_readout_source', 'reverse_transform': 'plasticity_rule_readout_source', 'translated_name': 'plasticity_rule_readout_source', 'type': 'simple'}, 'synapse_dac_bias': {'forward_transform': 'synapse_dac_bias', 'reverse_transform': 'synapse_dac_bias', 'translated_name': 'synapse_dac_bias', 'type': 'simple'}, 'tau_m': {'forward_transform': 'tau_m', 'reverse_transform': 'tau_m', 'translated_name': 'tau_m', 'type': 'simple'}, 'tau_refrac': {'forward_transform': 'tau_refrac', 'reverse_transform': 'tau_refrac', 'translated_name': 'tau_refrac', 'type': 'simple'}, 'tau_syn_E': {'forward_transform': 'tau_syn_E', 'reverse_transform': 'tau_syn_E', 'translated_name': 'tau_syn_E', 'type': 'simple'}, 'tau_syn_I': {'forward_transform': 'tau_syn_I', 'reverse_transform': 'tau_syn_I', 'translated_name': 'tau_syn_I', 'type': 'simple'}, 'v': {'forward_transform': 'v', 'reverse_transform': 'v', 'translated_name': 'v', 'type': 'simple'}, 'v_reset': {'forward_transform': 'v_reset', 'reverse_transform': 'v_reset', 'translated_name': 'v_reset', 'type': 'simple'}, 'v_rest': {'forward_transform': 'v_rest', 'reverse_transform': 'v_rest', 'translated_name': 'v_rest', 'type': 'simple'}, 'v_thresh': {'forward_transform': 'v_thresh', 'reverse_transform': 'v_thresh', 'translated_name': 'v_thresh', 'type': 'simple'}}
-
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'}
-