"vllm/vscode:/vscode.git/clone" did not exist on "f49777ba62b4926d0f8c100ab06edb03c5c10098"
image.py 856 Bytes
Newer Older
1
2
3
from dataclasses import dataclass
from typing import Literal

4
import torch
5
6
from PIL import Image

7
from vllm.assets.base import get_vllm_public_assets
8

9
VLM_IMAGES_DIR = "vision_model_images"
10
11
12
13


@dataclass(frozen=True)
class ImageAsset:
14
    name: Literal["stop_sign", "cherry_blossom"]
15

16
    @property
17
    def pil_image(self) -> Image.Image:
18
19
20
21

        image_path = get_vllm_public_assets(filename=f"{self.name}.jpg",
                                            s3_prefix=VLM_IMAGES_DIR)
        return Image.open(image_path)
22
23
24
25
26
27
28
29
30

    @property
    def image_embeds(self) -> torch.Tensor:
        """
        Image embeddings, only used for testing purposes with llava 1.5.
        """
        image_path = get_vllm_public_assets(filename=f"{self.name}.pt",
                                            s3_prefix=VLM_IMAGES_DIR)
        return torch.load(image_path)