Skip to content

Commit 03191cd

Browse files
authored
[Core][MultiModalHasher] Hash images without converting image mode (#24969)
Signed-off-by: Lukas Geiger <[email protected]>
1 parent b77bf34 commit 03191cd

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

vllm/multimodal/hasher.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
from PIL import Image
1313

1414
from vllm.logger import init_logger
15-
from vllm.multimodal.image import convert_image_mode
1615

1716
logger = init_logger(__name__)
1817

@@ -35,8 +34,12 @@ def serialize_item(cls, obj: object) -> Iterable[Union[bytes, memoryview]]:
3534
exif[Image.ExifTags.Base.ImageID], uuid.UUID):
3635
# If the image has exif ImageID tag, use that
3736
return (exif[Image.ExifTags.Base.ImageID].bytes, )
38-
return cls.iter_item_to_bytes(
39-
"image", np.asarray(convert_image_mode(obj, "RGBA")))
37+
data = {"mode": obj.mode, "data": np.asarray(obj)}
38+
if obj.palette is not None:
39+
data["palette"] = obj.palette.palette
40+
if obj.palette.rawmode is not None:
41+
data["palette_rawmode"] = obj.palette.rawmode
42+
return cls.iter_item_to_bytes("image", data)
4043
if isinstance(obj, torch.Tensor):
4144
tensor_obj: torch.Tensor = obj.cpu()
4245
tensor_dtype = tensor_obj.dtype

0 commit comments

Comments
 (0)