def test_batch(self):
     """ test batched dataset
     """
     batchsize = 2
     mapper = tf.build_mapper(self.ops)
     ds = build_source(self.sc_config)
     mapped_ds = tf.map(ds, mapper)
     batched_ds = tf.batch(mapped_ds, batchsize, True)
     for sample in batched_ds:
         out = sample
     self.assertEqual(len(out), batchsize)
    def test_map(self):
        """ test transformer.map
        """
        mapper = tf.build_mapper(self.ops)
        ds = build_source(self.sc_config)
        mapped_ds = tf.map(ds, mapper)
        ct = 0
        for sample in mapped_ds:
            self.assertTrue(type(sample[0]) is np.ndarray)
            ct += 1

        self.assertEqual(ct, mapped_ds.size())
Example #3
0
 def test_ops_all(self):
     """ test operators
     """
     # ResizeImage
     ops_conf = [{
         'op': 'DecodeImage'
     }, {
         'op': 'ResizeImage',
         'target_size': 300,
         'max_size': 1333
     }]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     data = self.sample.copy()
     result0 = mapper(data)
     self.assertIsNotNone(result0['image'])
     self.assertEqual(len(result0['image'].shape), 3)
     # RandFlipImage
     ops_conf = [{'op': 'RandomFlipImage'}]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     result1 = mapper(result0)
     self.assertEqual(result1['image'].shape, result0['image'].shape)
     self.assertEqual(result1['gt_bbox'].shape, result0['gt_bbox'].shape)
     # NormalizeImage
     ops_conf = [{'op': 'NormalizeImage', 'is_channel_first': False}]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     result2 = mapper(result1)
     im1 = result1['image']
     count = np.where(im1 <= 1)[0]
     if im1.dtype == 'float64':
         self.assertEqual(count, im1.shape[0] * im1.shape[1], im1.shape[2])
     # ArrangeSample
     ops_conf = [{'op': 'ArrangeRCNN'}]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     result3 = mapper(result2)
     self.assertEqual(type(result3), tuple)
Example #4
0
 def test_ops_part3(self):
     """test Mixup and RandomInterp
     """
     ops_conf = [{
         'op': 'DecodeImage',
         'with_mixup': True,
     }, {
         'op': 'MixupImage',
     }, {
         'op': 'RandomInterpImage',
         'target_size': 608
     }]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     data = self.sample.copy()
     result = mapper(data)
     self.assertEqual(len(result['image'].shape), 3)
     self.assertGreater(result['gt_bbox'].shape[0], 0)
Example #5
0
 def test_ops_part2(self):
     """test Expand and RandomDistort
     """
     ops_conf = [{
         'op': 'DecodeImage'
     }, {
         'op': 'NormalizeBox'
     }, {
         'op': 'ExpandImage',
         'max_ratio': 1.5,
         'prob': 1
     }]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     data = self.sample.copy()
     result = mapper(data)
     self.assertEqual(len(result['image'].shape), 3)
     self.assertGreater(result['gt_bbox'].shape[0], 0)
Example #6
0
 def test_ops_part1(self):
     """test Crop and Resize
     """
     ops_conf = [{
         'op': 'DecodeImage'
     }, {
         'op': 'NormalizeBox'
     }, {
         'op': 'CropImage',
         'batch_sampler': [[1, 1, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],
                           [1, 50, 0.3, 1.0, 0.5, 2.0, 0.1, 0.0],
                           [1, 50, 0.3, 1.0, 0.5, 2.0, 0.3, 0.0],
                           [1, 50, 0.3, 1.0, 0.5, 2.0, 0.5, 0.0],
                           [1, 50, 0.3, 1.0, 0.5, 2.0, 0.7, 0.0],
                           [1, 50, 0.3, 1.0, 0.5, 2.0, 0.9, 0.0],
                           [1, 50, 0.3, 1.0, 0.5, 2.0, 0.0, 1.0]]
     }]
     mapper = tf.build_mapper(ops_conf)
     self.assertTrue(mapper is not None)
     data = self.sample.copy()
     result = mapper(data)
     self.assertEqual(len(result['image'].shape), 3)
    def test_parallel_map(self):
        """ test transformer.map with concurrent workers
        """
        mapper = tf.build_mapper(self.ops)
        ds = build_source(self.sc_config)
        worker_conf = {'WORKER_NUM': 2, 'use_process': True}
        mapped_ds = tf.map(ds, mapper, worker_conf)

        ct = 0
        for sample in mapped_ds:
            self.assertTrue(type(sample[0]) is np.ndarray)
            ct += 1

        self.assertTrue(mapped_ds.drained())
        self.assertEqual(ct, mapped_ds.size())
        mapped_ds.reset()

        ct = 0
        for sample in mapped_ds:
            self.assertTrue(type(sample[0]) is np.ndarray)
            ct += 1

        self.assertEqual(ct, mapped_ds.size())