class_docstr: Transformation controller which applies multi transformations
  to each data sample.
class_docstr_tok: ["Transformation","controller","which","applies","multi","transformations","to","each","data","sample","."]
docstr: Generate samples by a list of subpopulation methods.
  
  :param dataset: the input dataset
  :return: the transformed dataset
docstr_tok: ["Generate","samples","by","a","list","of","subpopulation","methods",".",":","param","dataset",":","the","input","dataset",":","return",":","the","transformed","dataset"]
code: def generate_by_subpopulations(self, dataset, **kwargs):
      r"""
      Generate samples by a list of subpopulation methods.
  
      :param dataset: the input dataset
      :return: the transformed dataset
  
      """
      self.prepare(dataset)
  
      for sub_obj in self._get_flint_objs(
          self.sub_methods,
          TASK_SUBPOPULATION_PATH,
          ALLOWED_SUBPOPULATIONS,
      ):
          logger.info("******Start {0}!******".format(sub_obj))
          generated_samples = sub_obj.slice_population(
              dataset, self.fields
          )
          yield None, generated_samples, sub_obj.__repr__()
          logger.info("******Finish {0}!******".format(sub_obj))
  
imports: from tqdm import tqdm
  from abc import ABC
  from itertools import product
  from ...input.dataset import Dataset
  from ...common.utils.seed import set_seed
  from ...common.utils.logger import logger
  from ...common.preprocess import EnProcessor
  from ...common.utils.load import pkg_class_load, load_module_from_file
  from ..transformation import Transformation, Pipeline
  from ..subpopulation import SubPopulation
  from ...common.settings import TASK_TRANSFORMATION_PATH, ALLOWED_TRANSFORMATIONS, TASK_SUBPOPULATION_PATH, ALLOWED_SUBPOPULATIONS
label_desc: Use image node_id 5 for calling the Generator obj's underlying member method code with example usage: obj.generate_by_subpopulations(dataset) without return types