code: def train(self, images, masks):
      self.min = images.min()
      self.max = images.max()
      images = (images - self.min) / (self.max - self.min)
      step = 1.0 / n_classes
      self.quantiles = list(
          np.quantile(images, [i * step for i in range(self.n_classes)])
      )
      self.quantiles.append(1.0)
      self.outshape = masks.shape
  
imports: import os
  import pickle
  import shutil
  import time
  import numpy
  import wandb
  from PIL import Image
label_desc: Use image node_id 2 for calling the ExampleSegmentationModel obj's underlying member method code with example usage: obj.train(images, masks) without return types