code: def load_pascal(image_set, year, devkit_path, shuffle=False):
      
      image_set = [y.strip() for y in image_set.split(',')]
      assert image_set, "No image_set specified"
      year = [y.strip() for y in year.split(',')]
      assert year, "No year specified"
  
      # make sure (# sets == # years)
      if len(image_set) > 1 and len(year) == 1:
          year = year * len(image_set)
      if len(image_set) == 1 and len(year) > 1:
          image_set = image_set * len(year)
      assert len(image_set) == len(year), "Number of sets and year mismatch"
  
      imdbs = []
      for s, y in zip(image_set, year):
          imdbs.append(PascalVoc(s, y, devkit_path, shuffle, is_train=True))
      if len(imdbs) > 1:
          return ConcatDB(imdbs, shuffle)
      else:
          return imdbs[0]
docs: wrapper function for loading pascal voc dataset
  
      Parameters:
      ----------
      image_set : str
          train, trainval...
      year : str
          2007, 2012 or combinations splitted by comma
      devkit_path : str
          root directory of dataset
      shuffle : bool
          whether to shuffle initial list
  
      Returns:
      ----------
      Imdb