code: def generate_nvt_targets(self, client=None):
      logging.info(
          "Generating NVTabular workflow for preprocessing targets"
      )
      args = self.args
      feats = dict()
  
      feats[INDEX_TMP_COL] = [INDEX_TMP_COL]
  
      for col in args.binary_classif_targets:
          feats[col] = [col] >> nvt_ops.AddTags(
              [Tags.BINARY_CLASSIFICATION, Tags.TARGET]
          )
      for col in args.regression_targets:
          feats[col] = [col] >> nvt_ops.AddTags(
              [Tags.REGRESSION, Tags.TARGET]
          )
  
      # Combining all targets
      outputs = reduce(lambda x, y: x + y, list(feats.values()))
  
      return outputs
  
imports: import gc
  import logging
  import os
  import shutil
  from functools import reduce
  from typing import Optional
  import nvtabular
  from merlin.core.dispatch import HAS_GPU
  from merlin.schema import Tags
  from nvtabular import ops
  from .args_parsing import parse_arguments
label_desc: Use image node_id 9 for calling the PreprocessingRunner obj's underlying member method code with example usage: obj.generate_nvt_targets(client) and returns: outputs