code: def test_dtypes():
      num_samples = 100
      tar_file_path = os.path.join(
          get_dali_extra_path(), "db/webdataset/sample-tar/dtypes.tar"
      )
      index_file = generate_temp_index_file(tar_file_path)
  
      wds_pipeline = webdataset_raw_pipeline(
          tar_file_path,
          index_file.name,
          ["float16", "int32", "float64"],
          dtypes=[
              dali.types.FLOAT16,
              dali.types.INT32,
              dali.types.FLOAT64,
          ],
          batch_size=test_batch_size,
          device_id=0,
          num_threads=1,
      )
      wds_pipeline.build()
      for sample_idx in range(num_samples):
          if sample_idx % test_batch_size == 0:
              f16, i32, f64 = wds_pipeline.run()
          assert (
              f16.as_array()[sample_idx % test_batch_size]
              == [float(sample_idx)] * 10
          ).all()
          assert (
              i32.as_array()[sample_idx % test_batch_size]
              == [int(sample_idx)] * 10
          ).all()
          assert (
              f64.as_array()[sample_idx % test_batch_size]
              == [float(sample_idx)] * 10
          ).all()
  
imports: import os
  from glob import glob
  import math
  import nvidia.dali
  from test_utils import compare_pipelines, get_dali_extra_path
  from nose_utils import assert_raises
  from nose.tools import assert_equal
  from webdataset_base import generate_temp_extract, generate_temp_index_file, webdataset_raw_pipeline, file_reader_pipeline
  from webdataset_base import test_batch_size
label_desc: Use image node_id 5 for calling a global function with example usage: test_dtypes() without return types