def test_get_plasticity_attribute_as_list(self, sim=sim): U_distr = random.RandomDistribution('uniform', low=0.4, high=0.6, rng=MockRNG(start=0.5, delta=0.001)) depressing = sim.TsodyksMarkramSynapse(U=U_distr, tau_rec=lambda d: 80.0 + d, tau_facil=0.0) prj = sim.Projection(self.p1, self.p2, connector=self.all2all, synapse_type=depressing) U = prj.get("U", format="list") U = _sort_by_column(U, 1)[:5] U_target = numpy.array([ (0, 0, 0.5), (1, 0, 0.501), (2, 0, 0.502), (3, 0, 0.503), (4, 0, 0.504), ]) assert_array_equal(U, U_target) tau_rec = prj.get("tau_rec", format="list") tau_rec = _sort_by_column(tau_rec, 1)[:5] tau_rec_target = numpy.array([ (0, 0, 80), (1, 0, 81), (2, 0, 82), (3, 0, 83), (4, 0, 84), ]) assert_array_equal(tau_rec, tau_rec_target)
def test_create_with_fast_synapse_dynamics(self, sim=sim): depressing = sim.TsodyksMarkramSynapse(U=0.5, tau_rec=80.0, tau_facil=0.0) prj = sim.Projection(self.p1, self.p2, connector=self.all2all, synapse_type=depressing)
def setUp(self, sim=sim, **extra): sim.setup(**extra) self.p1 = sim.Population(7, sim.IF_cond_exp()) self.p2 = sim.Population(4, sim.IF_cond_exp()) self.p3 = sim.Population(5, sim.IF_curr_alpha()) self.syn1 = sim.StaticSynapse(weight=0.006, delay=0.5) self.random_connect = sim.FixedNumberPostConnector(n=2) self.syn2 = sim.StaticSynapse(weight=0.012, delay=0.4) self.all2all = sim.AllToAllConnector() self.syn3 = sim.TsodyksMarkramSynapse(weight=0.012, delay=0.6, U=0.2, tau_rec=50)
def test_create_with_default_receptor_type(self, sim=sim): prj = sim.Projection(self.p1, self.p3, connector=self.all2all, synapse_type=sim.StaticSynapse()) self.assertEqual(prj.receptor_type, "excitatory") prj = sim.Projection(self.p1, self.p3, connector=self.all2all, synapse_type=sim.TsodyksMarkramSynapse(weight=0.5)) self.assertEqual(prj.receptor_type, "excitatory") prj = sim.Projection(self.p1, self.p3, connector=self.all2all, synapse_type=sim.StaticSynapse(weight=lambda d: -0.1 * d)) self.assertEqual(prj.receptor_type, "inhibitory")
def test_parameter_TsodyksMarkramSynapse_random_distribution( self, sim=sim): U_distr = random.RandomDistribution('uniform', low=0.4, high=0.6, rng=MockRNG(start=0.5, delta=0.001)) depressing = sim.TsodyksMarkramSynapse(U=U_distr, tau_rec=lambda d: 80.0 + d, tau_facil=0.0) self.assertEqual(U_distr.next(), 0.5)
def test_with_plastic_synapse(self): connection_list = [ (0, 0, 0.1, 0.1, 100, 400), (3, 0, 0.2, 0.11, 101, 500), (2, 3, 0.3, 0.12, 102, 600), # local (2, 2, 0.4, 0.13, 103, 700), (0, 1, 0.5, 0.14, 104, 800), # local ] C = connectors.FromListConnector(connection_list, column_names=["weight", "delay", "U", "tau_rec"]) syn = sim.TsodyksMarkramSynapse(U=99, tau_facil=88.8) prj = sim.Projection(self.p1, self.p2, C, syn) self.assertEqual(prj.get(["weight", "delay", "tau_facil", "tau_rec", "U"], format='list', gather=False), # use gather False because we are faking the MPI [(0, 1, 0.5, 0.14, 88.8, 800.0, 104.0), (2, 3, 0.3, 0.12, 88.8, 600.0, 102.0)])
def test_with_plastic_synapses_not_distributed(self, sim=sim): connection_list = [ (0, 0, 0.1, 0.1, 100, 100), (3, 0, 0.2, 0.11, 110, 99), (2, 3, 0.3, 0.12, 120, 98), # local (2, 2, 0.4, 0.13, 130, 97), (0, 1, 0.5, 0.14, 140, 96), # local ] file = recording.files.StandardTextFile("test.connections.2", mode='wb') file.write(connection_list, {"columns": ["i", "j", "weight", "delay", "U", "tau_rec"]}) C = connectors.FromFileConnector("test.connections.2", distributed=False) syn = sim.TsodyksMarkramSynapse(tau_facil=88.8) prj = sim.Projection(self.p1, self.p2, C, syn) self.assertEqual(prj.get(["weight", "delay", "U", "tau_rec", "tau_facil"], format='list', gather=False), # use gather False because we are faking the MPI [(0, 1, 0.5, 0.14, 140.0, 96.0, 88.8), (2, 3, 0.3, 0.12, 120.0, 98.0, 88.8)])