class_docstr: A custom dataloader to preprocessing observations (including images)
  and feed them to the network.
  
  Original code for the dataloader from https://github.com/araffin/robotics-rl-srl
  (MIT licence)
  Authors: Antonin Raffin, René Traoré, Ashley Hill
  
  :param indices: ([int]) list of observations indices
  :param observations: (np.ndarray) observations or images path
  :param actions: (np.ndarray) actions
  :param batch_size: (int) Number of samples per minibatch
  :param n_workers: (int) number of preprocessing worker (for loading the images)
  :param infinite_loop: (bool) whether to have an iterator that can be reset
  :param max_queue_len: (int) Max number of minibatches that can be preprocessed at the same time
  :param shuffle: (bool) Shuffle the minibatch after each epoch
  :param start_process: (bool) Start the preprocessing process (default: True)
  :param backend: (str) joblib backend (one of 'multiprocessing', 'sequential', 'threading'
      or 'loky' in newest versions)
  :param sequential: (bool) Do not use subprocess to preprocess the data
      (slower but use less memory for the CI)
  :param partial_minibatch: (bool) Allow partial minibatches (minibatches with a number of element
      lesser than the batch_size)
code: def __len__(self):
      return self.n_minibatches
  
imports: import queue
  import time
  from multiprocessing import Queue, Process
  import cv2
  import numpy
  from joblib import Parallel, delayed
  from stable_baselines import logger
label_desc: Use image node_id 7 for calling the DataLoader obj's underlying member method code with example usage: obj.__len__() and returns: self