***

layout: overview
slug: nemo-curator/nemo\_curator/models/clip
title: nemo\_curator.models.clip
--------------------------------

## Module Contents

### Classes

| Name                                                                   | Description                                                         |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [`CLIPAestheticScorer`](#nemo_curator-models-clip-CLIPAestheticScorer) | A model that chains CLIPImageEmbeddings and AestheticScorer models. |
| [`CLIPImageEmbeddings`](#nemo_curator-models-clip-CLIPImageEmbeddings) | Interface for generating CLIP image embeddings from input images.   |

### Data

[`_CLIP_MODEL_ID`](#nemo_curator-models-clip-_CLIP_MODEL_ID)

[`_CLIP_MODEL_REVISION`](#nemo_curator-models-clip-_CLIP_MODEL_REVISION)

### API

<Anchor id="nemo_curator-models-clip-CLIPAestheticScorer">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    class nemo_curator.models.clip.CLIPAestheticScorer(
        model_dir: str
    )
    ```
  </CodeBlock>
</Anchor>

<Indent>
  **Bases:** [ModelInterface](/nemo-curator/nemo_curator/models/base#nemo_curator-models-base-ModelInterface)

  A model that chains CLIPImageEmbeddings and AestheticScorer models.

  <ParamField path="_aesthetic_model" type="AestheticScorer | None = None" />

  <ParamField path="_clip_model" type="CLIPImageEmbeddings | None = None" />

  <ParamField path="model_id_names" type="list[str]">
    Get the model ID names.
  </ParamField>

  <Anchor id="nemo_curator-models-clip-CLIPAestheticScorer-__call__">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.models.clip.CLIPAestheticScorer.__call__(
          images: torch.Tensor | numpy.typing.NDArray[numpy.uint8]
      ) -> torch.Tensor
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    Call the CLIPAestheticScorer model.

    **Parameters:**

    <ParamField path="images" type="torch.Tensor | npt.NDArray[np.uint8]">
      The images to score.
    </ParamField>

    **Returns:** `torch.Tensor`

    The scores.
  </Indent>

  <Anchor id="nemo_curator-models-clip-CLIPAestheticScorer-download_weights_on_node">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.models.clip.CLIPAestheticScorer.download_weights_on_node(
          model_dir: str
      ) -> None
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    <Badge>
      classmethod
    </Badge>

    Download the weights for the CLIPAestheticScorer model on the node.
  </Indent>

  <Anchor id="nemo_curator-models-clip-CLIPAestheticScorer-setup">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.models.clip.CLIPAestheticScorer.setup() -> None
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    Set up the CLIPAestheticScorer model.
  </Indent>
</Indent>

<Anchor id="nemo_curator-models-clip-CLIPImageEmbeddings">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    class nemo_curator.models.clip.CLIPImageEmbeddings(
        model_dir: str
    )
    ```
  </CodeBlock>
</Anchor>

<Indent>
  **Bases:** [ModelInterface](/nemo-curator/nemo_curator/models/base#nemo_curator-models-base-ModelInterface)

  Interface for generating CLIP image embeddings from input images.

  <ParamField path="device" type="= 'cuda' if torch.cuda.is_available() else 'cpu'" />

  <ParamField path="dtype" type="= torch.float32" />

  <ParamField path="model_id_names" type="list[str]">
    Get the model ID names.
  </ParamField>

  <Anchor id="nemo_curator-models-clip-CLIPImageEmbeddings-__call__">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.models.clip.CLIPImageEmbeddings.__call__(
          images: torch.Tensor | numpy.typing.NDArray[numpy.uint8] | list[numpy.ndarray]
      ) -> torch.Tensor
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    Call the CLIPImageEmbeddings model.

    **Parameters:**

    <ParamField path="images" type="torch.Tensor | npt.NDArray[np.uint8] | list[np.ndarray]">
      The images to embed.
    </ParamField>

    **Returns:** `torch.Tensor`

    The embeddings.
  </Indent>

  <Anchor id="nemo_curator-models-clip-CLIPImageEmbeddings-download_weights_on_node">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.models.clip.CLIPImageEmbeddings.download_weights_on_node(
          model_dir: str
      ) -> None
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    <Badge>
      classmethod
    </Badge>

    Download the weights for the CLIPImageEmbeddings model on the node.
  </Indent>

  <Anchor id="nemo_curator-models-clip-CLIPImageEmbeddings-setup">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.models.clip.CLIPImageEmbeddings.setup() -> None
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    Set up the CLIPImageEmbeddings model.
  </Indent>
</Indent>

<Anchor id="nemo_curator-models-clip-_CLIP_MODEL_ID">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    nemo_curator.models.clip._CLIP_MODEL_ID: Final = 'openai/clip-vit-large-patch14'
    ```
  </CodeBlock>
</Anchor>

<Anchor id="nemo_curator-models-clip-_CLIP_MODEL_REVISION">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    nemo_curator.models.clip._CLIP_MODEL_REVISION: Final = '32bd642'
    ```
  </CodeBlock>
</Anchor>
