예제 #1
0
 def test_posterior(self):
     X = np.random.randn(3,5)
     Xv = np.random.rand(*X.shape)
     par = NormalPosterior(X,Xv)
     par.gradient = 10
     pcopy = par.copy()
     pcopy.gradient = 10
     self.assertListEqual(par.param_array.tolist(), pcopy.param_array.tolist())
     self.assertListEqual(par.gradient_full.tolist(), pcopy.gradient_full.tolist())
     self.assertSequenceEqual(str(par), str(pcopy))
     self.assertIsNot(par.param_array, pcopy.param_array)
     self.assertIsNot(par.gradient_full, pcopy.gradient_full)
     with tempfile.TemporaryFile('w+b') as f:
         par.pickle(f)
         f.seek(0)
         pcopy = pickle.load(f)
     self.assertListEqual(par.param_array.tolist(), pcopy.param_array.tolist())
     pcopy.gradient = 10
     np.testing.assert_allclose(par.gradient_full, pcopy.gradient_full)
     np.testing.assert_allclose(pcopy.mean.gradient_full, 10)
     self.assertSequenceEqual(str(par), str(pcopy))
예제 #2
0
 def test_posterior(self):
     X = np.random.randn(3,5)
     Xv = np.random.rand(*X.shape)
     par = NormalPosterior(X,Xv)
     par.gradient = 10
     pcopy = par.copy()
     pcopy.gradient = 10
     self.assertListEqual(par.param_array.tolist(), pcopy.param_array.tolist())
     self.assertListEqual(par.gradient_full.tolist(), pcopy.gradient_full.tolist())
     self.assertSequenceEqual(str(par), str(pcopy))
     self.assertIsNot(par.param_array, pcopy.param_array)
     self.assertIsNot(par.gradient_full, pcopy.gradient_full)
     with tempfile.TemporaryFile('w+b') as f:
         par.pickle(f)
         f.seek(0)
         pcopy = pickle.load(f)
     self.assertListEqual(par.param_array.tolist(), pcopy.param_array.tolist())
     pcopy.gradient = 10
     np.testing.assert_allclose(par.gradient_full, pcopy.gradient_full)
     np.testing.assert_allclose(pcopy.mean.gradient_full, 10)
     self.assertSequenceEqual(str(par), str(pcopy))