code: def run_image_classification_problem(
      train_dataset: tuple,
      test_dataset: tuple,
      composite_flag: bool = True,
  ):
      task = Task(TaskTypesEnum.classification)
  
      x_train, y_train = train_dataset[0], train_dataset[1]
      x_test, y_test = test_dataset[0], test_dataset[1]
  
      dataset_to_train = InputData.from_image(
          images=x_train, labels=y_train, task=task
      )
      dataset_to_validate = InputData.from_image(
          images=x_test, labels=y_test, task=task
      )
  
      pipeline = cnn_composite_pipeline(composite_flag)
      pipeline.fit(input_data=dataset_to_train)
      predictions = pipeline.predict(dataset_to_validate)
      roc_auc_on_valid = calculate_validation_metric(
          predictions, dataset_to_validate
      )
      return roc_auc_on_valid, dataset_to_train, dataset_to_validate
  
file_path: FEDOT/examples/simple/classification/image_classification_problem.py
imports: from golem.utilities.requirements_notificator import warn_requirement
  from sklearn.metrics import roc_auc_score
  from examples.simple.classification.classification_pipelines import cnn_composite_pipeline
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.repository.tasks import Task, TaskTypesEnum
  from fedot.core.utils import set_random_seed
label_desc: Use image node_id 2 for calling a global function with example usage: run_image_classification_problem(train_dataset, test_dataset, composite_flag) and returns: roc_auc_on_valid,  dataset_to_train,  dataset_to_validate