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

Function test_sequences

dali/test/python/operator_1/test_coord_transform.py:239–302  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

237
238
239def test_sequences():
240 rng = random.Random(42)
241 np_rng = np.random.default_rng(12345)
242 max_batch_size = 64
243 max_num_frames = 50
244 num_points = 30
245 num_iters = 4
246
247 def points():
248 return np.float32(np_rng.uniform(-100, 250, (num_points, 2)))
249
250 def rand_range(limit):
251 return range(rng.randint(1, limit) + 1)
252
253 def m(sample_desc):
254 angles = np_rng.uniform(-np.pi, np.pi, 2)
255 scales = np_rng.uniform(0, 5, 2)
256 c = np.cos(angles[0])
257 s = np.sin(angles[1])
258 return np.array([[c * scales[0], -s], [s, c * scales[1]]], dtype=np.float32)
259
260 def t(sample_desc):
261 return np.float32(np_rng.uniform(-100, 250, 2))
262
263 def mt(sample_desc):
264 return np.append(m(sample_desc), t(sample_desc).reshape(-1, 1), axis=1)
265
266 input_cases = [
267 (fn.coord_transform, {}, [ArgCb("M", m, True)]),
268 (fn.coord_transform, {}, [ArgCb("T", t, True)]),
269 (fn.coord_transform, {}, [ArgCb("MT", mt, True)]),
270 (fn.coord_transform, {}, [ArgCb("MT", mt, False)]),
271 (fn.coord_transform, {}, [ArgCb("M", m, True), ArgCb("T", t, True)]),
272 (fn.coord_transform, {}, [ArgCb("M", m, False), ArgCb("T", t, True)]),
273 ]
274
275 input_seq_data = [
276 [
277 np.array([points() for _ in rand_range(max_num_frames)], dtype=np.float32)
278 for _ in rand_range(max_batch_size)
279 ]
280 for _ in range(num_iters)
281 ]
282
283 main_input = ArgData(desc=ArgDesc(0, "F", "", "F**"), data=input_seq_data)
284
285 yield from sequence_suite_helper(rng, [main_input], input_cases, num_iters)
286
287 input_broadcast_cases = [
288 (fn.coord_transform, {}, [ArgCb(0, lambda _: points(), False, "cpu")], ["cpu"]),
289 (fn.coord_transform, {}, [ArgCb(0, lambda _: points(), False, "gpu")], ["cpu"]),
290 ]
291
292 input_mt_data = [
293 [
294 np.array([mt(None) for _ in rand_range(max_num_frames)], dtype=np.float32)
295 for _ in rand_range(max_batch_size)
296 ]

Callers

nothing calls this directly

Calls 7

ArgCbClass · 0.90
ArgDataClass · 0.90
ArgDescClass · 0.90
sequence_suite_helperFunction · 0.90
pointsFunction · 0.85
rand_rangeFunction · 0.70
mtFunction · 0.70

Tested by

no test coverage detected