Exemplo n.º 1
0
 def test_error_equals_mean_pxz(self):
     a = ctcpp_alpha(np.log(self.Y), self.T)
     b = ctcpp_beta(np.log(self.Y), self.T)
     pzx = np.logaddexp.reduce(a + b, axis=2)
     error_expected = -pzx.mean()
     error_calc, d = CTC(self.Y, LabelingTargets([self.T], binarize_to=3))
     self.assertEqual(error_calc, error_expected)
Exemplo n.º 2
0
 def test_beta_values(self):
     b = ctcpp_beta(np.log(self.Y), self.T)
     b_expected = np.array(
         [[.096, .06, 0, 0],
          [.441, .48, .2, 0],
          [0, .42, .2, 0],
          [0, .57, .9, 1],
          [0, 0, .7, 1]]).T
     self.assertTrue(np.allclose(np.exp(b), b_expected.reshape(4, 1, 5)))
Exemplo n.º 3
0
 def test_beta_values_duplicate_label(self):
     T = [0, 0]
     b = ctcpp_beta(np.log(self.Y), T)
     b_expected = np.array(
         [[.003, 0, 0, 0],
          [.219, .03, 0, 0],
          [0, .27, .1, 0],
          [0, .45, .8, 1],
          [0, 0, .7, 1]]).T
     self.assertTrue(np.allclose(np.exp(b), b_expected.reshape(4, 1, 5)))
Exemplo n.º 4
0
 def test_pxz_equal_for_all_t(self):
     a = ctcpp_alpha(np.log(self.Y), self.T)
     b = ctcpp_beta(np.log(self.Y), self.T)
     pxz = np.exp(a + b).T.sum(0)
     self.assertTrue(np.allclose(pxz, pxz.mean()))