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

Class DecoderPipeline

dali/test/python/decoder/test_audio.py:47–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45
46
47class DecoderPipeline(Pipeline):
48 def __init__(self):
49 super().__init__(
50 batch_size=8,
51 num_threads=3,
52 device_id=0,
53 exec_async=True,
54 exec_pipelined=True,
55 output_dtype=[
56 types.INT16,
57 types.INT16,
58 types.INT16,
59 types.FLOAT,
60 types.FLOAT,
61 types.FLOAT,
62 types.FLOAT,
63 types.FLOAT,
64 ],
65 output_ndim=[2, 2, 1, 1, 0, 0, 0, 0],
66 )
67 self.file_source = ops.ExternalSource()
68 self.plain_decoder = ops.decoders.Audio(dtype=types.INT16)
69 self.resampling_decoder = ops.decoders.Audio(sample_rate=rate1, dtype=types.INT16)
70 self.downmixing_decoder = ops.decoders.Audio(downmix=True, dtype=types.INT16)
71 self.resampling_downmixing_decoder = ops.decoders.Audio(
72 sample_rate=rate2, downmix=True, quality=50, dtype=types.FLOAT
73 )
74
75 def define_graph(self):
76 self.raw_file = self.file_source()
77 dec_plain, rates_plain = self.plain_decoder(self.raw_file)
78 dec_res, rates_res = self.resampling_decoder(self.raw_file)
79 dec_mix, rates_mix = self.downmixing_decoder(self.raw_file)
80 dec_res_mix, rates_res_mix = self.resampling_downmixing_decoder(self.raw_file)
81 out = [
82 dec_plain,
83 dec_res,
84 dec_mix,
85 dec_res_mix,
86 rates_plain,
87 rates_res,
88 rates_mix,
89 rates_res_mix,
90 ]
91 return out
92
93 def iter_setup(self):
94 list = []
95 for i in range(self.batch_size):
96 idx = i % len(names)
97 with open(names[idx], mode="rb") as f:
98 list.append(np.array(bytearray(f.read()), np.uint8))
99 self.feed_input(self.raw_file, list)
100
101
102@attr("sanitizer_skip")

Callers 1

Calls

no outgoing calls

Tested by 1