Пример #1
0
    def test_invalid_padding(self):
        msg = ("padding should be one of \"REFLECT\", \"CONSTANT\", "
               "or \"SYMMETRIC\".")
        image = tf.ones(shape=(1, 28, 28, 1))

        with self.assertRaisesRegexp(ValueError, msg):
            median_filter2d(image, padding="TEST")
Пример #2
0
    def test_invalid_image(self):
        msg = "image should be either 3 or 4-dimensional."

        for image_shape in [(28, 28), (16, 28, 28, 1, 1)]:
            with self.subTest(dim=len(image_shape)):
                with self.assertRaisesRegexp(ValueError, msg):
                    median_filter2d(tf.ones(shape=image_shape))
Пример #3
0
 def test_image_vs_filter(self):
     tf_img = tf.zeros([3, 4, 3], tf.int32)
     m = tf_img.shape[0]
     no = tf_img.shape[1]
     ch = tf_img.shape[2]
     filter_shape = (3, 5)
     with self.assertRaises(ValueError):
         median_filter2d(tf_img, filter_shape)
Пример #4
0
    def test_invalid_filter_shape(self):
        msg = ("The `filter_shape` argument must be a tuple of 2 integers.")
        image = tf.ones(shape=(1, 28, 28, 1))

        for filter_shape in [(3, 3, 3), (3, None, 3), None]:
            with self.subTest(filter_shape=filter_shape):
                with self.assertRaisesRegexp(ValueError, msg):
                    median_filter2d(image, filter_shape=filter_shape)
Пример #5
0
def test_invalid_filter_shape_median(filter_shape):
    image = tf.ones(shape=(1, 28, 28, 1))

    with pytest.raises(ValueError):
        median_filter2d(image, filter_shape=filter_shape)

    filter_shape = None
    with pytest.raises(TypeError):
        mean_filter2d(image, filter_shape=filter_shape)
Пример #6
0
 def test_invalid_image(self):
     msg = "`image` must be 2/3/4D tensor"
     errors = (ValueError, tf.errors.InvalidArgumentError)
     for image_shape in [(1, ), (16, 28, 28, 1, 1)]:
         with self.subTest(dim=len(image_shape)):
             with self.assertRaisesRegexp(errors, msg):
                 image = tf.ones(shape=image_shape)
                 self.evaluate(median_filter2d(image))
Пример #7
0
    def test_dimension(self):
        tf.compat.v1.disable_eager_execution()
        tf_img = tf.compat.v1.placeholder(tf.int32, shape=[3, 4, None])
        tf_img1 = tf.compat.v1.placeholder(tf.int32, shape=[3, None, 4])
        tf_img2 = tf.compat.v1.placeholder(tf.int32, shape=[None, 3, 4])

        with self.assertRaises(TypeError):
            median_filter2d(tf_img)
            median_filter2d(tf_img1)
            median_filter2d(tf_img2)
Пример #8
0
    def _validate_median_filter2d(self,
                                  inputs,
                                  expected_values,
                                  filter_shape=(3, 3)):

        values_op = median_filter2d(inputs)
        with self.test_session(use_gpu=False) as sess:
            if tf.executing_eagerly():
                expected_values = expected_values.numpy()
                values = values_op.numpy()
            else:
                expected_values = expected_values.eval()
                values = values_op.eval()
            self.assertShapeEqual(values, inputs)
            self.assertShapeEqual(expected_values, values_op)
            self.assertAllClose(expected_values, values)
Пример #9
0
    def test_filter_tuple(self):
        tf_img = tf.zeros([3, 4, 3], tf.int32)

        for filter_shape in [3, 3.5, 'dt', None]:
            with self.assertRaisesRegexp(TypeError,
                                         'Filter shape must be a tuple'):
                median_filter2d(tf_img, filter_shape)

        filter_shape = (3, 3, 3)
        msg = ('Filter shape must be a tuple of 2 integers. '
               'Got %s values in tuple' % len(filter_shape))
        with self.assertRaisesRegexp(ValueError, msg):
            median_filter2d(tf_img, filter_shape)

        msg = 'Size of the filter must be Integers'
        for filter_shape in [(3.5, 3), (None, 3)]:
            with self.assertRaisesRegexp(TypeError, msg):
                median_filter2d(tf_img, filter_shape)
Пример #10
0
def test_invalid_padding_median():
    image = tf.ones(shape=(1, 28, 28, 1))

    with pytest.raises(ValueError):
        median_filter2d(image, padding="TEST")
Пример #11
0
def test_invalid_image_median(image_shape):
    with pytest.raises((ValueError, tf.errors.InvalidArgumentError)):
        image = tf.ones(shape=image_shape)
        median_filter2d(image)
Пример #12
0
    def test_filter_value(self):
        tf_img = tf.zeros([3, 4, 3], tf.int32)

        with self.assertRaises(ValueError):
            median_filter2d(tf_img, (4, 3))
Пример #13
0
    def test_filter_tuple(self):
        tf_img = tf.zeros([3, 4, 3], tf.int32)

        with self.assertRaisesRegexp(TypeError,
                                     'Filter shape must be a tuple'):
            median_filter2d(tf_img, 3)
            median_filter2d(tf_img, 3.5)
            median_filter2d(tf_img, 'dt')
            median_filter2d(tf_img, None)

        filter_shape = (3, 3, 3)
        msg = 'Filter shape must be a tuple of 2 integers. ' \
              'Got %s values in tuple' % len(filter_shape)
        with self.assertRaisesRegexp(ValueError, msg):
            median_filter2d(tf_img, filter_shape)

        with self.assertRaisesRegexp(TypeError,
                                     'Size of the filter must be Integers'):
            median_filter2d(tf_img, (3.5, 3))
            median_filter2d(tf_img, (None, 3))
Пример #14
0
 def test_dimension(self):
     for image_shape in [(3, 4, None), (3, None, 4), (None, 3, 4)]:
         with self.assertRaises(TypeError):
             tf_img = tf.compat.v1.placeholder(tf.int32, shape=image_shape)
             median_filter2d(tf_img)
Пример #15
0
 def _validate_median_filter2d(self,
                               inputs,
                               expected_values,
                               filter_shape=(3, 3)):
     output = median_filter2d(inputs, filter_shape)
     self.assertAllClose(output, expected_values)
Пример #16
0
    def test_invalid_padding(self):
        msg = 'padding should be one of "REFLECT", "CONSTANT", ' 'or "SYMMETRIC".'
        image = tf.ones(shape=(1, 28, 28, 1))

        with self.assertRaisesRegexp(ValueError, msg):
            median_filter2d(image, padding="TEST")