Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/llamafactory/data/mm_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -1458,6 +1458,14 @@ def _get_mm_inputs(
mm_inputs = {}

if len(images) != 0:
# Pre-load images into PIL objects so the (torchvision-backed) image_processor passes
# them through unchanged, instead of decoding paths via torchvision (which is built
# without libjpeg on ROCm). See _regularize_images.
images = self._regularize_images(
images,
image_max_pixels=getattr(processor, "image_max_pixels", 1024 * 1024),
image_min_pixels=getattr(processor, "image_min_pixels", 32 * 32),
)["images"]
# The image_processor ignores downsample_mode; target_sizes are always based on patch_size.
# downsample_mode only affects the token divisor in _build_v4_6_placeholder and model forward.
mm_inputs.update(image_processor(images, return_tensors="pt"))
Expand Down