code: def get_targets(self, schema):
      tasks = self.args.tasks
      if "all" in tasks:
          tasks = schema.select_by_tag(Tags.TARGET).column_names
  
      targets_schema = schema.select_by_name(tasks)
  
      if set(tasks) != set(targets_schema.column_names):
          raise ValueError(
              "Some tasks were not found in the dataset schema: "
              f"{set(tasks).difference(set(targets_schema.column_names))}"
          )
  
      targets = dict()
      binary_classif_targets = targets_schema.select_by_tag(
          Tags.BINARY_CLASSIFICATION
      ).column_names
      if len(binary_classif_targets) > 0:
          targets[
              Task.BINARY_CLASSIFICATION.value
          ] = binary_classif_targets
  
      regression_targets = targets_schema.select_by_tag(
          Tags.REGRESSION
      ).column_names
      if len(regression_targets) > 0:
          targets[Task.REGRESSION.value] = regression_targets
  
      return targets
  
imports: import json
  import logging
  import os
  from datetime import datetime
  import merlin.models.tf
  import numpy
  import tensorflow
  from merlin.io.dataset import Dataset
  from merlin.models.tf.logging.callbacks import ExamplesPerSecondCallback, WandbLogger
  from merlin.models.tf.transforms.negative_sampling import InBatchNegatives
  from merlin.schema.tags import Tags
  from .args_parsing import Task, parse_arguments
  from .mtl import get_mtl_loss_weights, get_mtl_prediction_tasks
  from .ranking_models import get_model
label_desc: Use image node_id 3 for calling the RankingTrainEvalRunner obj's underlying member method code with example usage: obj.get_targets(schema) and returns: targets