class_docstr: Class for managing the user data in nebullvm.
  
  Attributes:
      data_reader(Sequence): Object implementing the __getitem__, the
          __len__ and the __iter__/__next__ APIs. It should read the
          user data and return tuples of tensors for feeding the models.
code: def get_numpy_list(
      self, n: int = None, shuffle: bool = False, with_ys: bool = False
  ) -> Union[
      List[Tuple[np.ndarray, ...]],
      Tuple[List[Tuple[np.ndarray, ...]], List],
  ]:
      if n is None:
          n = len(self)
      if not with_ys:
          return [
              tuple(convert_to_numpy(x) for x in tuple_)
              for tuple_ in self.get_list(n, shuffle)
          ]
      else:
          xs, ys = self.get_list(n, shuffle, with_ys=True)
          return [
              tuple(convert_to_numpy(x) for x in tuple_)
              for tuple_ in xs
          ], ys
  
imports: from typing import Sequence, List, Tuple, Any, Union, Iterable
  import numpy
  from loguru import logger
  from nebullvm.config import MIN_DIM_INPUT_DATA
  from nebullvm.optional_modules.tensorflow import tensorflow
  from nebullvm.optional_modules.torch import torch, Dataset, DataLoader
  from nebullvm.tools.onnx import convert_to_numpy
label_desc: Use image node_id 6 for calling the DataManager obj's underlying member method code with example usage: obj.get_numpy_list(n, shuffle, with_ys) and returns: unknown, unknown,  ys