def test_surrogate_get_item(self): test_vertex = MyTestVertex() self.assertEqual(test_vertex.cm, 0.2) self.assertEqual(test_vertex.tau_refract, 0.0) self.assertEqual(test_vertex.tau_syn_E, 5.0) surrogate = PyNNParametersSurrogate(test_vertex) self.assertEqual(surrogate['cm'], 0.2) self.assertEqual(surrogate['tau_refract'], 0.0) self.assertEqual(surrogate['tau_syn_E'], 5.0)
def __init__(self, size, cellclass, cellparams, spinnaker, label, structure=None): """ Instantiates a :py:object:`Population`. """ if size is not None and size <= 0: raise exceptions.ConfigurationException( "A population cannot have a negative or zero size.") # Create a partitionable_graph vertex for the population and add it # to PACMAN cell_label = label if label is None: cell_label = "Population {}"\ .format(Population._non_labelled_vertex_count) Population._non_labelled_vertex_count += 1 cellparams['label'] = cell_label cellparams['n_neurons'] = size cellparams['machine_time_step'] = spinnaker.machine_time_step cellparams['timescale_factor'] = spinnaker.timescale_factor cellparams['spikes_per_second'] = spinnaker.spikes_per_second cellparams['ring_buffer_sigma'] = spinnaker.ring_buffer_sigma self._vertex = cellclass(**cellparams) self._spinnaker = spinnaker self._delay_vertex = None # Internal structure now supported 23 November 2014 ADR # structure should be a valid Space.py structure type. # generation of positions is deferred until needed. if structure: self._structure = structure self._positions = None else: self._structure = None self._spinnaker._add_population(self) self._spinnaker.add_vertex(self._vertex) self._parameters = PyNNParametersSurrogate(self._vertex) # initialize common stuff self._size = size self._record_spike_file = None self._record_v_file = None self._record_gsyn_file = None self._spikes = None self._v = None self._gsyn = None
def test_surrogate_set_item(self): test_vertex = MyTestVertex() self.assertEqual(test_vertex.cm, 0.2) self.assertEqual(test_vertex.tau_refract, 0.0) self.assertEqual(test_vertex.tau_syn_E, 5.0) surrogate = PyNNParametersSurrogate(test_vertex) surrogate['cm'] = 2.0 surrogate['tau_refract'] = 10.5 surrogate['tau_syn_E'] = 15 self.assertEqual(surrogate['cm'], 2.0) self.assertEqual(surrogate['tau_refract'], 10.5) self.assertEqual(surrogate['tau_syn_E'], 15) self.assertEqual(test_vertex.cm, 2.0) self.assertEqual(test_vertex.tau_refract, 10.5) self.assertEqual(test_vertex.tau_syn_E, 15)
def test_surrogate_set_item_exception(self): test_vertex = MyTestVertex() surrogate = PyNNParametersSurrogate(test_vertex) with self.assertRaises(Exception): surrogate['tau_rev_e'] = 5