Ejemplo n.º 1
0
    def test_random_shapes_and_kernel_sizes(self):
        shapes = [(6, 5), (5, 6), (6, 6), (11, 1), (1, 11), (0, 1), (1, 0),
                  (0, 0)]
        kernel_sizes = [1, 2, 3, 5]
        nb_channels_lst = [None, 1, 3, 4]

        # 8*(4*4)*4 = 512 subtests
        gen = itertools.product(shapes, nb_channels_lst)
        for shape_nochan, nb_channels in gen:
            shape = shape_nochan
            if nb_channels is not None:
                shape = tuple(list(shape) + [nb_channels])
            image = np.zeros(shape, dtype=np.uint8)

            for ksize_h, ksize_w in itertools.product(kernel_sizes,
                                                      kernel_sizes):
                with self.subTest(shape=shape,
                                  ksize_h=ksize_h,
                                  ksize_w=ksize_w):
                    image_pooled = ia.avg_pool(image, (ksize_h, ksize_w))
                    shape_expected = image_pooled.shape

                    shape_observed = iapooling._compute_shape_after_pooling(
                        shape, ksize_h, ksize_w)

                    assert shape_observed == shape_expected
Ejemplo n.º 2
0
 def _pool_image(self, image, kernel_size_h, kernel_size_w):
     return ia.avg_pool(image, (kernel_size_h, kernel_size_w))
Ejemplo n.º 3
0
 def _pool_image(self, image, kernel_size_h, kernel_size_w):
     # TODO extend avg_pool to support pad_mode and set it here
     #      to reflection padding
     return ia.avg_pool(image,
                        (max(kernel_size_h, 1), max(kernel_size_w, 1)),
                        cval=128)
Ejemplo n.º 4
0
 def _pool_image(self, image, kernel_size_h, kernel_size_w):
     return ia.avg_pool(image,
                        (max(kernel_size_h, 1), max(kernel_size_w, 1)))