code: def load_dataset_folder(self):
      phase = "train" if self.is_train else "test"
      x, y, mask = [], [], []
  
      img_dir = os.path.join(
          self.dataset_root_path, self.class_name, phase
      )
      gt_dir = os.path.join(
          self.dataset_root_path, self.class_name, "ground_truth"
      )
  
      img_types = sorted(os.listdir(img_dir))
      for img_type in img_types:
          # load images
          img_type_dir = os.path.join(img_dir, img_type)
          if not os.path.isdir(img_type_dir):
              continue
          img_fpath_list = sorted(
              [
                  os.path.join(img_type_dir, f)
                  for f in os.listdir(img_type_dir)
                  if f.endswith(".png")
              ]
          )
          x.extend(img_fpath_list)
  
          # load gt labels
          if img_type == "good":
              y.extend([0] * len(img_fpath_list))
              mask.extend([None] * len(img_fpath_list))
          else:
              y.extend([1] * len(img_fpath_list))
              gt_type_dir = os.path.join(gt_dir, img_type)
              img_fname_list = [
                  os.path.splitext(os.path.basename(f))[0]
                  for f in img_fpath_list
              ]
              gt_fpath_list = [
                  os.path.join(gt_type_dir, img_fname + "_mask.png")
                  for img_fname in img_fname_list
              ]
              mask.extend(gt_fpath_list)
  
      assert len(x) == len(y), "number of x and y should be same"
  
      return list(x), list(y), list(mask)
  
imports: import os
  import cv2
  import numpy
  from PIL import Image
  import paddle
  from paddle.io import Dataset
  from paddle.vision import transforms
  from qinspector.cvlib.workspace import register
label_desc: Use image node_id 4 for calling the MVTecDataset obj's underlying member method code with example usage: obj.load_dataset_folder() and returns: list,  list,  list