class_docstr: Splitter of data that provides generator of test-train splits.
  Can provide hold-out validation and k-fold validation.
  
  :param cv_folds: Number of folds on data for cross-validation.
  If provided, then cross validation is used. Otherwise, hold-out validation is used.
  :param validation_blocks: Validation blocks count.
  Applied only for time series data.
  If not provided, then value will be calculated.
  :param split_ratio: Ratio of data for splitting.
  Applied only in case of hold-out split.
  If not provided, then default split ratios will be used.
  :param shuffle: Is shuffling required for data.
  :param stratify: If True then stratification is used for samples
  :param random_seed: Random seed for shuffle.
  :param log: Log for logging.
class_docstr_tok: ["Splitter","of","data","that","provides","generator","of","test-train","splits",".","Can","provide","hold-out","validation","and","k-fold","validation",".",":","param","cv_folds",":","Number","of","folds","on","data","for","cross-validation",".","If","provided",",","then","cross","validation","is","used",".","Otherwise",",","hold-out","validation","is","used",".",":","param","validation_blocks",":","Validation","blocks","count",".","Applied","only","for","time","series","data",".","If","not","provided",",","then","value","will","be","calculated",".",":","param","split_ratio",":","Ratio","of","data","for","splitting",".","Applied","only","in","case","of","hold-out","split",".","If","not","provided",",","then","default","split","ratios","will","be","used",".",":","param","shuffle",":","Is","shuffling","required","for","data",".",":","param","stratify",":","If","True","then","stratification","is","used","for","samples",":","param","random_seed",":","Random","seed","for","shuffle",".",":","param","log",":","Log","for","logging","."]
code: def _data_producer(train_data: InputData, test_data: InputData):
      yield train_data, test_data
  
file_path: FEDOT/fedot/core/optimisers/objective/data_source_splitter.py
imports: from functools import partial
  from typing import Optional, Union
  from golem.core.log import default_log
  from fedot.core.constants import default_data_split_ratio_by_task
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup, _are_stratification_allowed
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.optimisers.objective.data_objective_eval import DataSource
  from fedot.core.repository.tasks import TaskTypesEnum
  from fedot.remote.remote_evaluator import RemoteEvaluator, init_data_for_remote_execution
  from fedot.core.data.cv_folds import cv_generator
label_desc: Use image node_id 3 for calling the DataSourceSplitter obj's underlying member method code with example usage: obj._data_producer(train_data, test_data) without return types