From 424848d26f4d5cae7ca0c936d9b6f86adf9cb4ff Mon Sep 17 00:00:00 2001 From: Mick Date: Wed, 19 Feb 2025 01:14:11 +0800 Subject: [PATCH] fix: remove dependency on latest transformers impl (#3635) --- python/sglang/srt/configs/qwen2_5_vl_config.py | 7 +++++-- python/sglang/srt/models/qwen2_vl.py | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/python/sglang/srt/configs/qwen2_5_vl_config.py b/python/sglang/srt/configs/qwen2_5_vl_config.py index 6c7317d73..b04edf26d 100644 --- a/python/sglang/srt/configs/qwen2_5_vl_config.py +++ b/python/sglang/srt/configs/qwen2_5_vl_config.py @@ -48,13 +48,16 @@ from transformers.image_utils import ( validate_preprocess_arguments, ) from transformers.modeling_rope_utils import rope_config_validation -from transformers.models.mllama.image_processing_mllama import is_valid_list_of_images from transformers.models.qwen2_vl.image_processing_qwen2_vl import smart_resize from transformers.processing_utils import ProcessingKwargs, Unpack, VideosKwargs from transformers.tokenization_utils_base import PreTokenizedInput, TextInput from transformers.utils.constants import OPENAI_CLIP_MEAN, OPENAI_CLIP_STD +def is_valid_list_of_images(images: List): + return images and all(is_valid_image(image) for image in images) + + class Qwen2_5_VLVisionConfig(PretrainedConfig): model_type = "qwen2_5_vl" base_config_key = "vision_config" @@ -999,5 +1002,5 @@ class Qwen2_5_VLImageProcessor(BaseImageProcessor): return BatchFeature(data=data, tensor_type=return_tensors) -AutoImageProcessor.register(Qwen2_5_VLConfig, Qwen2_5_VLImageProcessor) +AutoImageProcessor.register(Qwen2_5_VLConfig, None, Qwen2_5_VLImageProcessor, None) AutoProcessor.register(Qwen2_5_VLConfig, Qwen2_5_VLProcessor) diff --git a/python/sglang/srt/models/qwen2_vl.py b/python/sglang/srt/models/qwen2_vl.py index f41f0aec5..add9019bd 100644 --- a/python/sglang/srt/models/qwen2_vl.py +++ b/python/sglang/srt/models/qwen2_vl.py @@ -559,7 +559,6 @@ class Qwen2VLForConditionalGeneration(nn.Module): ] image_embeds_offset += num_image_tokens - input_ids = None hidden_states = self.model( input_ids=input_ids, positions=positions,