code: def metric_keys_to_skip_for_confidence_intervals(
      metrics_specs: Iterable[config_pb2.MetricsSpec],
      eval_config: config_pb2.EvalConfig,
  ) -> FrozenSet[metric_types.MetricKey]:
      """Returns metric keys not to be displayed with confidence intervals."""
      skipped_keys = []
      for key, _, instance in keys_and_metrics_from_specs(
          eval_config, metrics_specs
      ):
          # if metric does not implement compute_confidence_interval, do not skip
          if not getattr(instance, "compute_confidence_interval", True):
              skipped_keys.append(key)
      return frozenset(skipped_keys)
  
imports: import collections
  import importlib
  import json
  import re
  from typing import Any, Dict, FrozenSet, Iterable, Iterator, List, NamedTuple, Optional, Tuple, Type, Union
  import tensorflow
  from tensorflow_model_analysis.metrics import aggregation
  from tensorflow_model_analysis.metrics import binary_confusion_matrices
  from tensorflow_model_analysis.metrics import calibration
  from tensorflow_model_analysis.metrics import calibration_plot
  from tensorflow_model_analysis.metrics import confusion_matrix_metrics
  from tensorflow_model_analysis.metrics import confusion_matrix_plot
  from tensorflow_model_analysis.metrics import example_count
  from tensorflow_model_analysis.metrics import metric_types
  from tensorflow_model_analysis.metrics import metric_util
  from tensorflow_model_analysis.metrics import multi_class_confusion_matrix_plot
  from tensorflow_model_analysis.metrics import tf_metric_wrapper
  from tensorflow_model_analysis.metrics import weighted_example_count
  from tensorflow_model_analysis.proto import config_pb2
  from tensorflow_model_analysis.slicer import slicer_lib
  from tensorflow_model_analysis.utils import model_util
  from tensorflow_metadata.proto.v0 import schema_pb2
label_desc: Use image node_id 12 for calling a global function with example usage: metric_keys_to_skip_for_confidence_intervals(metrics_specs, eval_config) and returns: frozenset