A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 14, 05:30 UTC
[Core][MultiModalHasher] Hash images without converting image mode (#24969)
Signed-off-by: Lukas Geiger <lukas.geiger94@gmail.com>
Lukas Geiger committed
Sep 17, 2025 at 08:57 UTC
03191cd8f0ffa0f37629518b19d9155260fd2483
1 file changed
+6
-3
vllm/multimodal/hasher.py
+6
-3
@@ -12,7 +12,6 @@ from blake3 import blake3
12
from PIL import Image
13
14
from vllm.logger import init_logger
15
-from vllm.multimodal.image import convert_image_mode
15
16
logger = init_logger(__name__)
17
@@ -35,8 +34,12 @@ class MultiModalHasher:
34
exif[Image.ExifTags.Base.ImageID], uuid.UUID):
35
# If the image has exif ImageID tag, use that
36
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)
43
if isinstance(obj, torch.Tensor):
44
tensor_obj: torch.Tensor = obj.cpu()
45
tensor_dtype = tensor_obj.dtype