code: def deserialize_feature_metadata(
      serialized_feature_metadata: bytes,
  ) -> Dict[str, Any]:
      """Deserialize serialized feature metadata blob.
  
      Args:
        serialized_feature_metadata: Feature metadata serialized using
          serialize_feature_metadata.
  
      Returns:
        Dictionary containing three keys:
        - feature_columns: light-weight serialized representation of FeatureColumns
        - associated_tensors: TensorInfo for the Tensor associated with each
            feature_column, in the same order.
        - features: dictionary mapping raw feature key to the TensorInfo for the
            associated Tensor.
      """
  
      output_dict = pickle.loads(serialized_feature_metadata)
  
      result = {
          "feature_columns": [],
          "associated_tensors": [],
          "features": {},
      }
  
      def merge_feature_metadata(
          into: Dict[str, Any], merge_from: Dict[str, Any]
      ) -> None:
          """Merge the second feature metadata dictionary into the first."""
          into["feature_columns"].extend(merge_from["feature_columns"])
          into["associated_tensors"].extend(
              merge_from["associated_tensors"]
          )
          common_keys = set(into["features"]) & set(
              merge_from["features"]
          )
          for key in common_keys:
              if into["features"][key] != merge_from["features"][key]:
                  raise ValueError(
                      "key %s was common to both into and merge_from, but "
                      "had distinct values: into value was %s, merge_from "
                      "value was %s"
                      % (
                          key,
                          into["features"][key],
                          merge_from["features"][key],
                      )
                  )
          into["features"].update(merge_from["features"])
  
      if "linear_model" in output_dict:
          merge_feature_metadata(result, output_dict["linear_model"])
      if "dnn_model" in output_dict:
          merge_feature_metadata(result, output_dict["dnn_model"])
  
      return result
  
imports: import contextlib
  import inspect
  import os
  import pickle
  from typing import Any, Callable, Dict, Optional
  import six
  import tensorflow
  from tensorflow import estimator
  import tensorflow_model_analysis
  from tensorflow_model_analysis.api import types
  from tensorflow_model_analysis.utils import util
  from tensorflow.python.feature_column import feature_column_v2
  from tensorflow_estimator.python.estimator.canned import dnn
label_desc: Use image node_id 10 for calling a global function with example usage: deserialize_feature_metadata(serialized_feature_metadata) and returns: result