예제 #1
0
 def test_run(self):
     ww = WongWangNetwork(self.SC,
                          self.DELAYS,
                          exc_seed=SEED,
                          inh_seed=SEED)
     all_results = []
     for backend, noise_func in BACKENDS_TO_TEST.items():
         result = ww.run(
             DURATION,
             DT,
             noise_func(ZeroInput(ww.num_noise_variables), DURATION, DT),
             backend=backend,
         )
         self.assertTrue(isinstance(result, xr.Dataset))
         self.assertEqual(len(result),
                          ww.num_state_variables / ww.num_nodes)
         self.assertTrue(
             all(result[result_].shape == (int(DURATION / DT), ww.num_nodes)
                 for result_ in result))
         all_results.append(result)
     # test results are the same from different backends
     for state_var in all_results[0]:
         corr_mat = np.corrcoef(
             np.vstack([
                 result[state_var].values.flatten().astype(float)
                 for result in all_results
             ]))
         self.assertTrue(np.greater(corr_mat, CORR_THRESHOLD).all())
예제 #2
0
 def test_init(self):
     ww = WongWangNetwork(self.SC, self.DELAYS)
     self.assertTrue(isinstance(ww, WongWangNetwork))
     self.assertEqual(len(ww), self.SC.shape[0])
     self.assertEqual(ww.initial_state.shape[0], ww.num_state_variables)
     self.assertEqual(ww.default_output, f"S_{EXC}")