code: def load_dataset(feature_set="raw", dir_names=[]):
      features = []
      labels = []
      count = 0
      for dir_name in dir_names:
          print(dir_name)
          imgs = glob(f"{dataset_path}/{dir_name}/*.png")
          count += len(imgs)
          subset = random.sample(
              [i for i in range(len(imgs))],
              min(len(imgs), sample_count),
          )
          for i in subset:
              img = cv2.imread(imgs[i])
              labels.append(dir_name)
              features.append(extract_features(img, feature_set))
      print(f"Total: {len(dir_names)} directories, and {count} images")
      return features, labels
  
file_path: Mozart/src/train.py
imports: import cv2
  import random
  import imutils
  from glob import glob
  from sklearn.model_selection import train_test_split
  from sklearn.neighbors import KNeighborsClassifier
  from sklearn.neural_network import MLPClassifier
  from sklearn import svm
  import numpy
  import matplotlib.pyplot
  import pickle
label_desc: Use image node_id 5 for calling a global function with example usage: load_dataset(feature_set, dir_names) and returns: features,  labels