[Bugfix] Fix broken phi3-v mm_processor_kwargs tests (#11263)

Signed-off-by: Isotr0py <2037008807@qq.com>
This commit is contained in:
Isotr0py 2024-12-19 02:16:40 +08:00 committed by GitHub
parent 60508ffda9
commit 996aa70f00
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 11 deletions

View File

@ -58,16 +58,14 @@ def test_max_tokens_override(get_max_phi3v_image_tokens, model: str,
@pytest.mark.parametrize("model", models)
@pytest.mark.parametrize(
"num_crops,expected_toks_per_img,num_imgs",
"num_crops,expected_toks_per_img",
[
(4, 757, 1),
(4, 757, 2),
(16, 1921, 1),
(16, 1921, 2),
(4, 757),
(16, 1921),
# the default num_crops of phi-3.5-vision is 4
(None, 757, 2),
(None, 757, 2),
(None, 757),
])
@pytest.mark.parametrize("num_imgs", [1, 2])
def test_processor_override(processor_for_phi3v, image_assets: _ImageAssets,
model: str, num_crops: Optional[int],
expected_toks_per_img: int, num_imgs: int):

View File

@ -302,11 +302,18 @@ class Phi3HDImageEmbedding(Phi3ImageEmbeddingBase):
return image_features_hd_newline
def get_max_phi3v_image_tokens(ctx: InputContext) -> int:
processor = ctx.get_hf_processor()
image_processor = processor.image_processor # type: ignore
def get_max_phi3v_image_tokens(
ctx: InputContext,
*,
num_crops: Optional[int] = None,
) -> int:
mm_processor_kwargs = {}
if num_crops:
mm_processor_kwargs["num_crops"] = num_crops
return image_processor.calc_num_image_tokens_from_image_size(
processor = ctx.get_hf_processor(**mm_processor_kwargs)
return processor.calc_num_image_tokens_from_image_size(
width=MAX_IMAGE_FEATURE_SIZE_WIDTH,
height=MAX_IMAGE_FEATURE_SIZE_HEIGHT,
)