class_docstr: Class that performs embedding extraction on images.
  
  The API expects a TFLite model with optional, but strongly recommended,
  TFLite Model Metadata.
  
  Input tensor:
    (kTfLiteUInt8/kTfLiteFloat32)
    - image input of size `[batch x height x width x channels]`.
    - batch inference is not supported (`batch` is required to be 1).
    - only RGB inputs are supported (`channels` is required to be 3).
    - if type is kTfLiteFloat32, NormalizationOptions are required to be
      attached to the metadata for input normalization.
  At least one output tensor with:
    (kTfLiteUInt8/kTfLiteFloat32)
    - `N` components corresponding to the `N` dimensions of the returned
      feature vector for this output layer.
    - Either 2 or 4 dimensions, i.e. `[1 x N]` or `[1 x 1 x 1 x N]`.
class_docstr_tok: ["Class","that","performs","embedding","extraction","on","images",".","The","API","expects","a","TFLite","model","with","optional",",","but","strongly","recommended",",","TFLite","Model","Metadata",".","Input","tensor",":","(","kTfLiteUInt8\/kTfLiteFloat32",")","-","image","input","of","size","`","[","batch","x","height","x","width","x","channels","]","`",".","-","batch","inference","is","not","supported","(","`","batch","`","is","required","to","be","1",")",".","-","only","RGB","inputs","are","supported","(","`","channels","`","is","required","to","be","3",")",".","-","if","type","is","kTfLiteFloat32",",","NormalizationOptions","are","required","to","be","attached","to","the","metadata","for","input","normalization",".","At","least","one","output","tensor","with",":","(","kTfLiteUInt8\/kTfLiteFloat32",")","-","`","N","`","components","corresponding","to","the","`","N","`","dimensions","of","the","returned","feature","vector","for","this","output","layer",".","-","Either","2","or","4","dimensions",",","i.e",".","`","[","1","x","N","]","`","or","`","[","1","x","1","x","1","x","N","]","`","."]
docstr: Performs image embedding extraction on the provided MediaPipe Image.
  
   Extraction is performed on the region of interest specified by the `roi`
   argument if provided, or on the entire image otherwise.
  
  Args:
    image: MediaPipe Image.
    image_processing_options: Options for image processing.
  
  Returns:
    An embedding result object that contains a list of embeddings.
  
  Raises:
    ValueError: If any of the input arguments is invalid.
    RuntimeError: If image embedder failed to run.
docstr_tok: ["Performs","image","embedding","extraction","on","the","provided","MediaPipe","Image",".","Extraction","is","performed","on","the","region","of","interest","specified","by","the","`","roi","`","argument","if","provided",",","or","on","the","entire","image","otherwise",".","Args",":","image",":","MediaPipe","Image",".","image_processing_options",":","Options","for","image","processing",".","Returns",":","An","embedding","result","object","that","contains","a","list","of","embeddings",".","Raises",":","ValueError",":","If","any","of","the","input","arguments","is","invalid",".","RuntimeError",":","If","image","embedder","failed","to","run","."]
code: def embed(
      self,
      image: image_module.Image,
      image_processing_options: Optional[
          _ImageProcessingOptions
      ] = None,
  ) -> ImageEmbedderResult:
      """Performs image embedding extraction on the provided MediaPipe Image.
  
       Extraction is performed on the region of interest specified by the `roi`
       argument if provided, or on the entire image otherwise.
  
      Args:
        image: MediaPipe Image.
        image_processing_options: Options for image processing.
  
      Returns:
        An embedding result object that contains a list of embeddings.
  
      Raises:
        ValueError: If any of the input arguments is invalid.
        RuntimeError: If image embedder failed to run.
      """
      normalized_rect = self.convert_to_normalized_rect(
          image_processing_options, image
      )
      output_packets = self._process_image_data(
          {
              _IMAGE_IN_STREAM_NAME: packet_creator.create_image(image),
              _NORM_RECT_STREAM_NAME: packet_creator.create_proto(
                  normalized_rect.to_pb2()
              ),
          }
      )
  
      embedding_result_proto = embeddings_pb2.EmbeddingResult()
      embedding_result_proto.CopyFrom(
          packet_getter.get_proto(
              output_packets[_EMBEDDINGS_OUT_STREAM_NAME]
          )
      )
  
      return ImageEmbedderResult.create_from_pb2(embedding_result_proto)
  
imports: import dataclasses
  from typing import Callable, Mapping, Optional
  from mediapipe.python import packet_creator
  from mediapipe.python import packet_getter
  from mediapipe.python._framework_bindings import image
  from mediapipe.python._framework_bindings import packet
  from mediapipe.tasks.cc.components.containers.proto import embeddings_pb2
  from mediapipe.tasks.cc.components.processors.proto import embedder_options_pb2
  from mediapipe.tasks.cc.vision.image_embedder.proto import image_embedder_graph_options_pb2
  from mediapipe.tasks.python.components.containers import embedding_result
  from mediapipe.tasks.python.components.utils import cosine_similarity
  from mediapipe.tasks.python.core import base_options
  from mediapipe.tasks.python.core import task_info
  from mediapipe.tasks.python.core.optional_dependencies import doc_controls
  from mediapipe.tasks.python.vision.core import base_vision_task_api
  from mediapipe.tasks.python.vision.core import image_processing_options
  from mediapipe.tasks.python.vision.core import vision_task_running_mode
label_desc: Use image node_id 3 for calling the ImageEmbedder obj's underlying member method code with example usage: obj.embed(image, image_processing_options) and returns: ImageEmbedderResult