Skip to content

vllm.assets.image

ImageAsset dataclass

Source code in vllm/assets/image.py
@dataclass(frozen=True)
class ImageAsset:
    name: ImageAssetName

    def get_path(self, ext: str) -> Path:
        """
        Return s3 path for given image.
        """
        return get_vllm_public_assets(
            filename=f"{self.name}.{ext}", s3_prefix=VLM_IMAGES_DIR
        )

    @property
    def pil_image(self) -> Image.Image:
        return self.pil_image_ext(ext="jpg")

    def pil_image_ext(self, ext: str) -> Image.Image:
        image_path = self.get_path(ext=ext)
        return Image.open(image_path)

    @property
    def image_embeds(self) -> torch.Tensor:
        """
        Image embeddings, only used for testing purposes with llava 1.5.
        """
        image_path = self.get_path("pt")
        return torch.load(image_path, map_location="cpu", weights_only=True)

    def read_bytes(self, ext: str) -> bytes:
        p = Path(self.get_path(ext))
        return p.read_bytes()

image_embeds property

image_embeds: Tensor

Image embeddings, only used for testing purposes with llava 1.5.

get_path

get_path(ext: str) -> Path

Return s3 path for given image.

Source code in vllm/assets/image.py
def get_path(self, ext: str) -> Path:
    """
    Return s3 path for given image.
    """
    return get_vllm_public_assets(
        filename=f"{self.name}.{ext}", s3_prefix=VLM_IMAGES_DIR
    )