def test_two_dim_odd_input_axis_0(self):
   x = np.array([[-1., 50., -3.5, 2., -1], [0., 0., 3., 2., 4.]]).T
   for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation, axis=0)
     with self.cached_session():
       # Get dim 1 with negative and positive indices.
       pct_neg_index = sample_stats.percentile(
           x, q=q, interpolation=self._interpolation, axis=[0])
       pct_pos_index = sample_stats.percentile(
           x, q=q, interpolation=self._interpolation, axis=[0])
       self.assertAllEqual((2,), pct_neg_index.get_shape())
       self.assertAllEqual((2,), pct_pos_index.get_shape())
       self.assertAllClose(expected_percentile, pct_neg_index.eval())
       self.assertAllClose(expected_percentile, pct_pos_index.eval())
 def test_two_dim_odd_input_axis_0(self):
     x = np.array([[-1., 50., -3.5, 2., -1], [0., 0., 3., 2., 4.]]).T
     for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
         expected_percentile = np.percentile(
             x, q=q, interpolation=self._interpolation, axis=0)
         with self.cached_session():
             # Get dim 1 with negative and positive indices.
             pct_neg_index = sample_stats.percentile(
                 x, q=q, interpolation=self._interpolation, axis=[0])
             pct_pos_index = sample_stats.percentile(
                 x, q=q, interpolation=self._interpolation, axis=[0])
             self.assertAllEqual((2, ), pct_neg_index.get_shape())
             self.assertAllEqual((2, ), pct_pos_index.get_shape())
             self.assertAllClose(expected_percentile, pct_neg_index.eval())
             self.assertAllClose(expected_percentile, pct_pos_index.eval())
 def test_vector_q_raises_dynamic(self):
     x = [1., 5., 3., 2., 4.]
     q_ph = array_ops.placeholder(dtypes.float32)
     pct = sample_stats.percentile(x, q=q_ph, validate_args=True)
     with self.cached_session():
         with self.assertRaisesOpError("rank"):
             pct.eval(feed_dict={q_ph: [0.5]})
 def test_vector_q_raises_dynamic(self):
   x = [1., 5., 3., 2., 4.]
   q_ph = array_ops.placeholder(dtypes.float32)
   pct = sample_stats.percentile(x, q=q_ph, validate_args=True)
   with self.cached_session():
     with self.assertRaisesOpError("rank"):
       pct.eval(feed_dict={q_ph: [0.5]})
 def test_finds_max_of_long_array(self):
     # d - 1 == d in float32 and d = 3e7.
     # So this test only passes if we use double for the percentile indices.
     # If float is used, it fails with InvalidArgumentError about an index out of
     # bounds.
     x = math_ops.linspace(0., 3e7, num=int(3e7))
     with self.cached_session():
         minval = sample_stats.percentile(x, q=0, validate_args=True)
         self.assertAllEqual(0, minval.eval())
 def test_finds_max_of_long_array(self):
   # d - 1 == d in float32 and d = 3e7.
   # So this test only passes if we use double for the percentile indices.
   # If float is used, it fails with InvalidArgumentError about an index out of
   # bounds.
   x = math_ops.linspace(0., 3e7, num=int(3e7))
   with self.cached_session():
     minval = sample_stats.percentile(x, q=0, validate_args=True)
     self.assertAllEqual(0, minval.eval())
 def test_one_dim_even_input(self):
   x = [1., 5., 3., 2., 4., 5.]
   for q in [0, 10.1, 25.1, 49.9, 50.1, 50.01, 89, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation)
     with self.cached_session():
       pct = sample_stats.percentile(x, q=q, interpolation=self._interpolation)
       self.assertAllEqual((), pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
Exemple #8
0
 def test_one_dim_even_input(self):
   x = [1., 5., 3., 2., 4., 5.]
   for q in [0, 10.1, 25.1, 49.9, 50.1, 50.01, 89, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation)
     with self.test_session():
       pct = sample_stats.percentile(x, q=q, interpolation=self._interpolation)
       self.assertAllEqual((), pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
 def test_with_integer_dtype(self):
   x = [1, 5, 3, 2, 4]
   for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation)
     with self.cached_session():
       pct = sample_stats.percentile(x, q=q, interpolation=self._interpolation)
       self.assertEqual(dtypes.int32, pct.dtype)
       self.assertAllEqual((), pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
 def test_one_dim_odd_input(self):
     x = [1., 5., 3., 2., 4.]
     for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
         expected_percentile = np.percentile(
             x, q=q, interpolation=self._interpolation, axis=0)
         with self.cached_session():
             pct = sample_stats.percentile(
                 x, q=q, interpolation=self._interpolation, axis=[0])
             self.assertAllEqual((), pct.get_shape())
             self.assertAllClose(expected_percentile, pct.eval())
Exemple #11
0
 def test_with_integer_dtype(self):
   x = [1, 5, 3, 2, 4]
   for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation)
     with self.test_session():
       pct = sample_stats.percentile(x, q=q, interpolation=self._interpolation)
       self.assertEqual(dtypes.int32, pct.dtype)
       self.assertAllEqual((), pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
 def test_one_dim_odd_input(self):
   x = [1., 5., 3., 2., 4.]
   for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation, axis=0)
     with self.cached_session():
       pct = sample_stats.percentile(
           x, q=q, interpolation=self._interpolation, axis=[0])
       self.assertAllEqual((), pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
 def test_four_dimensional_input(self):
     x = rng.rand(2, 3, 4, 5)
     for axis in [None, 0, 1, -2, (0, ), (-1, ), (-1, 1), (3, 1), (-3, 0)]:
         expected_percentile = np.percentile(
             x, q=0.77, interpolation=self._interpolation, axis=axis)
         with self.cached_session():
             pct = sample_stats.percentile(
                 x, q=0.77, interpolation=self._interpolation, axis=axis)
             self.assertAllEqual(expected_percentile.shape, pct.get_shape())
             self.assertAllClose(expected_percentile, pct.eval())
 def test_two_dim_even_axis_0(self):
     x = np.array([[1., 2., 4., 50.], [1., 2., -4., 5.]]).T
     for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
         expected_percentile = np.percentile(
             x, q=q, interpolation=self._interpolation, axis=0)
         with self.cached_session():
             pct = sample_stats.percentile(
                 x, q=q, interpolation=self._interpolation, axis=[0])
             self.assertAllEqual((2, ), pct.get_shape())
             self.assertAllClose(expected_percentile, pct.eval())
 def test_two_dim_even_axis_0(self):
   x = np.array([[1., 2., 4., 50.], [1., 2., -4., 5.]]).T
   for q in [0, 10, 25, 49.9, 50, 50.01, 90, 95, 100]:
     expected_percentile = np.percentile(
         x, q=q, interpolation=self._interpolation, axis=0)
     with self.cached_session():
       pct = sample_stats.percentile(
           x, q=q, interpolation=self._interpolation, axis=[0])
       self.assertAllEqual((2,), pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
 def test_four_dimensional_input_x_static_ndims_but_dynamic_sizes(self):
     x = rng.rand(2, 3, 4, 5)
     x_ph = array_ops.placeholder(dtypes.float64,
                                  shape=[None, None, None, None])
     for axis in [None, 0, 1, -2, (0, ), (-1, ), (-1, 1), (3, 1), (-3, 0)]:
         expected_percentile = np.percentile(
             x, q=0.77, interpolation=self._interpolation, axis=axis)
         with self.cached_session():
             pct = sample_stats.percentile(
                 x_ph, q=0.77, interpolation=self._interpolation, axis=axis)
             self.assertAllClose(expected_percentile,
                                 pct.eval(feed_dict={x_ph: x}))
 def test_four_dimensional_input(self):
   x = rng.rand(2, 3, 4, 5)
   for axis in [None, 0, 1, -2, (0,), (-1,), (-1, 1), (3, 1), (-3, 0)]:
     expected_percentile = np.percentile(
         x, q=0.77, interpolation=self._interpolation, axis=axis)
     with self.cached_session():
       pct = sample_stats.percentile(
           x,
           q=0.77,
           interpolation=self._interpolation,
           axis=axis)
       self.assertAllEqual(expected_percentile.shape, pct.get_shape())
       self.assertAllClose(expected_percentile, pct.eval())
 def test_four_dimensional_input_x_static_ndims_but_dynamic_sizes(self):
   x = rng.rand(2, 3, 4, 5)
   x_ph = array_ops.placeholder(dtypes.float64, shape=[None, None, None, None])
   for axis in [None, 0, 1, -2, (0,), (-1,), (-1, 1), (3, 1), (-3, 0)]:
     expected_percentile = np.percentile(
         x, q=0.77, interpolation=self._interpolation, axis=axis)
     with self.cached_session():
       pct = sample_stats.percentile(
           x_ph,
           q=0.77,
           interpolation=self._interpolation,
           axis=axis)
       self.assertAllClose(expected_percentile, pct.eval(feed_dict={x_ph: x}))
 def test_vector_q_raises_static(self):
     x = [1., 5., 3., 2., 4.]
     with self.assertRaisesRegexp(ValueError, "Expected.*ndims"):
         sample_stats.percentile(x, q=[0.5])
 def test_invalid_interpolation_raises(self):
     x = [1., 5., 3., 2., 4.]
     with self.assertRaisesRegexp(ValueError, "interpolation"):
         sample_stats.percentile(x, q=0.5, interpolation="bad")
 def test_invalid_interpolation_raises(self):
   x = [1., 5., 3., 2., 4.]
   with self.assertRaisesRegexp(ValueError, "interpolation"):
     sample_stats.percentile(x, q=0.5, interpolation="bad")
 def test_vector_q_raises_static(self):
   x = [1., 5., 3., 2., 4.]
   with self.assertRaisesRegexp(ValueError, "Expected.*ndims"):
     sample_stats.percentile(x, q=[0.5])