code: def from_csv(cls, path, folder, csv_fname, bs=64, tfms=(None,None),
                 val_idxs=None, suffix='', test_name=None, continuous=False, skip_header=True, num_workers=8, cat_separator=' '):
          
          assert not (tfms[0] is None or tfms[1] is None), "please provide transformations for your train and validation sets"
          assert not (os.path.isabs(folder)), "folder needs to be a relative path"
          fnames,y,classes = csv_source(folder, csv_fname, skip_header, suffix, continuous=continuous, cat_separator=cat_separator)
          return cls.from_names_and_array(path, fnames, y, classes, val_idxs, test_name,
                  num_workers=num_workers, suffix=suffix, tfms=tfms, bs=bs, continuous=continuous)
docs: Read in images and their labels given as a CSV file.
  
          This method should be used when training image labels are given in an CSV file as opposed to
          sub-directories with label names.
  
          Arguments:
              path: a root path of the data (used for storing trained models, precomputed values, etc)
              folder: a name of the folder in which training images are contained.
              csv_fname: a name of the CSV file which contains target labels.
              bs: batch size
              tfms: transformations (for data augmentations). e.g. output of `tfms_from_model`
              val_idxs: index of images to be used for validation. e.g. output of `get_cv_idxs`.
                  If None, default arguments to get_cv_idxs are used.
              suffix: suffix to add to image names in CSV file (sometimes CSV only contains the file name without file
                      extension e.g. '.jpg' - in which case, you can set suffix as '.jpg')
              test_name: a name of the folder which contains test images.
              continuous: if True, the data set is used to train regression models. If False, it is used 
                  to train classification models.
              skip_header: skip the first row of the CSV file.
              num_workers: number of workers
              cat_separator: Labels category separator
  
          Returns:
              ImageClassifierData