code: def validation(
      self,
      trace_id: str,
      validation_dataset: "dataset.Dataset",
      start_time: int,
      extract_features: bool = False,
      runtime_parameters: Optional[RuntimeParameters] = None,
      exclude_features_sources: Optional[List[str]] = None,
      metrics_calculation: bool = False,
      silent_mode: bool = False,
      progress_bar=None,
      progress_callback=None,
  ) -> "SearchTask":
      return validation_dataset.validation(
          trace_id,
          self.search_task_id,
          start_time=start_time,
          return_scores=True,
          extract_features=extract_features,
          runtime_parameters=runtime_parameters,
          exclude_features_sources=exclude_features_sources,
          metrics_calculation=metrics_calculation,
          silent_mode=silent_mode,
          progress_bar=progress_bar,
          progress_callback=progress_callback,
      )
  
imports: import tempfile
  import time
  from functools import lru_cache
  from typing import Dict, List, Optional
  import pandas
  from upgini import dataset
  from upgini.http import LoggerFactory, ProviderTaskSummary, SearchProgress, SearchTaskSummary, get_rest_client, is_demo_api_key
  from upgini.metadata import SYSTEM_RECORD_ID, FeaturesMetadataV2, FileMetadata, GeneratedFeatureMetadata, ModelTaskType, ProviderTaskMetadataV2, RuntimeParameters
  from upgini.resource_bundle import bundle
  from upgini.spinner import Spinner
label_desc: Use image node_id 11 for calling the SearchTask obj's underlying member method code with example usage: obj.validation(trace_id, validation_dataset, start_time, extract_features, runtime_parameters, exclude_features_sources, metrics_calculation, silent_mode, progress_bar, progress_callback) and returns: validation_dataset