code: def sep_train(data, IMG_SIZE: Tuple[int, int], channels: int = 1):
      # x = []
      # y = []
      # for feature, label in data:
      #     x.append(feature)
      #     y.append(label)
  
      _check_target_size(IMG_SIZE)
  
      x = [i[0] for i in data]
      y = [i[1] for i in data]
  
      # Without reshaping, X.shape --> (no. of images, IMG_SIZE, IMG_SIZE)
      # On reshaping, X.shape --> (no. of images, IMG_SIZE, IMG_SIZE, channels)
  
      # Converting to Numpy + Reshaping X
      x = reshape(x, IMG_SIZE, channels)
      y = np.array(y)
  
      return x, y
  
file_path: caer/caer/preprocess.py
imports: import os
  import random
  import time
  import numpy
  from .io import imread
  from ._internal import _check_target_size
  from .path import join, list_images
  from .color import to_gray
  from .annotations import Optional, List, Tuple
label_desc: Use image node_id 3 for calling a global function with example usage: sep_train(data, IMG_SIZE, channels) and returns: x,  y