MCPcopy Create free account
hub / github.com/NVIDIA/DALI / test_executor_meta

Function test_executor_meta

dali/test/python/test_pipeline.py:1591–1661  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1589
1590
1591def test_executor_meta():
1592 class TestPipeline(Pipeline):
1593 def __init__(self, batch_size, num_threads, device_id, num_gpus, seed):
1594 super(TestPipeline, self).__init__(
1595 batch_size,
1596 num_threads,
1597 device_id,
1598 enable_memory_stats=True,
1599 exec_async=False,
1600 exec_pipelined=False,
1601 )
1602 self.input = ops.readers.Caffe(
1603 path=caffe_db_folder, shard_id=device_id, num_shards=num_gpus, seed=seed
1604 )
1605 self.decode = ops.decoders.ImageRandomCrop(
1606 device="mixed", output_type=types.RGB, seed=seed
1607 )
1608 self.res = ops.Resize(device="gpu", resize_x=224, resize_y=224)
1609 self.cmnp = ops.CropMirrorNormalize(
1610 device="gpu",
1611 output_dtype=types.FLOAT,
1612 crop=(224, 224),
1613 mean=[128.0, 128.0, 128.0],
1614 std=[1.0, 1.0, 1.0],
1615 )
1616 self.coin = ops.random.CoinFlip(seed=seed)
1617
1618 def define_graph(self):
1619 self.jpegs, self.labels = self.input()
1620 images = self.decode(self.jpegs)
1621 resized_images = self.res(images)
1622 mirror = self.coin()
1623 output = self.cmnp(resized_images, mirror=mirror)
1624 return (output, resized_images, self.labels)
1625
1626 random_seed = 123456
1627 batch_size = 10
1628 test_pipe = TestPipeline(
1629 batch_size=batch_size, num_threads=1, device_id=0, num_gpus=1, seed=random_seed
1630 )
1631 test_pipe.run()
1632 meta = test_pipe.executor_statistics()
1633 # all operators (readers.Caffe, decoders.ImageRandomCrop, Resize, CropMirrorNormalize,
1634 # CoinFlip) + make_contiguous * 3 (all outputs)
1635 assert len(meta) == 8
1636 for k in meta.keys():
1637 if "CropMirrorNormalize" in k:
1638 crop_meta = meta[k]
1639 assert crop_meta["real_memory_size"] == crop_meta["reserved_memory_size"]
1640 # size of crop * num_of_channels * batch_size * data_size
1641 assert crop_meta["real_memory_size"][0] == 224 * 224 * 3 * batch_size * 4
1642 for k in meta.keys():
1643 if "CoinFlip" in k:
1644 coin_meta = meta[k]
1645 assert coin_meta["real_memory_size"] == coin_meta["reserved_memory_size"]
1646 # batch_size * data_size
1647 assert coin_meta["real_memory_size"][0] == batch_size * 4
1648 for k, v in meta.items():

Callers

nothing calls this directly

Calls 5

calc_avg_maxFunction · 0.85
executor_statisticsMethod · 0.80
keysMethod · 0.80
TestPipelineClass · 0.70
runMethod · 0.45

Tested by

no test coverage detected