<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L247-L410) |

Class that performs embedding extraction on multi-modal inputs.

```python
mp.tasks.retrieval.UniversalEmbedder(
    lib: serial_dispatcher.SerialDispatcher, handle: ctypes.c_void_p
) -> None
```

## Methods

### `close`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L395-L401)

```python
close() -> None
```

Shuts down and releases the UniversalEmbedder.

### `cosine_similarity`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L369-L393)

```python
@classmethod
cosine_similarity(
    u: `mp.tasks.components.containers.Embedding`,
    v: `mp.tasks.components.containers.Embedding`
) -> float
```

Utility function to compute cosine similarity between two embedding entries.

May return an InvalidArgumentError if e.g. the feature vectors are
of different types (quantized vs. float), have different sizes, or have a
an L2-norm of 0.

<br />

<br />

<br />

| Args ||
|---|---|
| `u` | An embedding entry. |
| `v` | An embedding entry. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| The cosine similarity for the two embeddings. ||

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | May return an error if e.g. the feature vectors are of different types (quantized vs. float), have different sizes, or have an L2-norm of 0. |

<br />

### `create_from_options`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L261-L272)

```python
@classmethod
create_from_options(
    options: `mp.tasks.retrieval.UniversalEmbedderOptions`
) -> 'UniversalEmbedder'
```

Creates the `UniversalEmbedder` object from options.

### `embed_audio`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L299-L311)

```python
embed_audio(
    audio_data: List[float]
) -> `mp.tasks.components.containers.EmbeddingResult`
```

Extracts embedding from float audio samples.

### `embed_content`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L313-L367)

```python
embed_content(
    parts: Sequence[`mp.tasks.retrieval.ContentPart`]
) -> `mp.tasks.components.containers.EmbeddingResult`
```

Extracts a joint embedding from multimodal content parts.

<br />

<br />

<br />

| Args ||
|---|---|
| `parts` | Sequence of multimodal content parts to embed together. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| An `EmbeddingResult` representing the joint embedding. ||

<br />

### `embed_image`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L286-L297)

```python
embed_image(
    image_bytes: bytes
) -> `mp.tasks.components.containers.EmbeddingResult`
```

Extracts embedding from raw image bytes.

### `embed_text`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L274-L284)

```python
embed_text(
    text: str
) -> `mp.tasks.components.containers.EmbeddingResult`
```

Extracts embedding from input text.

### `__enter__`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L403-L404)

```python
__enter__() -> 'UniversalEmbedder'
```

### `__exit__`

[View source](https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/tasks/python/retrieval/universal_embedder.py#L406-L407)

```python
__exit__(
    exc_type, exc_val, exc_tb
) -> None
```