code: def NumpyReaderPipeline(
      path,
      batch_size,
      device="cpu",
      file_list=None,
      files=None,
      file_filter="*.npy",
      num_threads=1,
      device_id=0,
      cache_header_information=False,
      pad_last_batch=False,
      dont_use_mmap=False,
      enable_o_direct=False,
      shard_id=0,
      num_shards=1,
  ):
      pipe = Pipeline(
          batch_size=batch_size,
          num_threads=num_threads,
          device_id=device_id,
      )
      data = fn.readers.numpy(
          device=device,
          file_list=file_list,
          files=files,
          file_root=path,
          file_filter=file_filter,
          shard_id=shard_id,
          num_shards=num_shards,
          cache_header_information=cache_header_information,
          pad_last_batch=pad_last_batch,
          dont_use_mmap=dont_use_mmap,
          use_o_direct=enable_o_direct,
      )
      pipe.set_outputs(data)
      return pipe
  
imports: from nvidia.dali import Pipeline, pipeline_def
  import nvidia.dali.fn
  import nvidia.dali.types
  import nvidia.dali.backend
  import numpy
  from numpy.testing import assert_array_equal
  import os
  import platform
  import random
  import tempfile
  from nose_utils import assert_raises
  from nose import SkipTest
  from nose2.tools import params, cartesian_params
  from test_utils import compare_pipelines, to_array
label_desc: Use image node_id 4 for calling a global function with example usage: NumpyReaderPipeline(path, batch_size, device, file_list, files, file_filter, num_threads, device_id, cache_header_information, pad_last_batch, dont_use_mmap, enable_o_direct, shard_id, num_shards) and returns: pipe