Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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")
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)])
Exemplo n.º 7
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)])