Skip to content

Commit 3bf488f

Browse files
artemspectorclaude
andcommitted
Regenerate modeling/processing from updated modular; fix copyright header
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 98d1c79 commit 3bf488f

3 files changed

Lines changed: 13 additions & 8 deletions

File tree

β€Žsrc/transformers/models/granite4_vision/modeling_granite4_vision.pyβ€Ž

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
from ... import initialization as init
3232
from ...activations import ACT2FN
33-
from ...cache_utils import Cache, DynamicCache
33+
from ...cache_utils import Cache
3434
from ...generation import GenerationMixin
3535
from ...image_processing_utils import select_best_resolution
3636
from ...integrations import use_kernel_forward_from_hub, use_kernel_func_from_hub, use_kernelized_func
@@ -42,6 +42,7 @@
4242
from ...processing_utils import Unpack
4343
from ...utils import TransformersKwargs, auto_docstring, can_return_tuple, torch_compilable_check
4444
from ...utils.generic import maybe_autocast, merge_with_config_defaults
45+
from ...utils.output_capturing import capture_outputs
4546
from ..auto import AutoModel
4647
from .configuration_granite4_vision import Granite4VisionConfig, Granite4VisionTextConfig
4748

@@ -80,7 +81,7 @@ class Granite4VisionCausalLMOutputWithPast(ModelOutput):
8081

8182

8283
@dataclass
83-
class Granite4VisionImageFeaturesOutput(ModelOutput):
84+
class Granite4VisionImageFeaturesOutput(BaseModelOutputWithPooling):
8485
"""
8586
Output of `Granite4VisionModel.get_image_features`.
8687
@@ -590,6 +591,7 @@ def __init__(self, config: Granite4VisionTextConfig):
590591
# Initialize weights and apply final processing
591592
self.post_init()
592593

594+
@capture_outputs
593595
@auto_docstring
594596
def forward(
595597
self,
@@ -618,9 +620,6 @@ def forward(
618620

619621
inputs_embeds = inputs_embeds * self.embedding_multiplier
620622

621-
if use_cache and past_key_values is None:
622-
past_key_values = DynamicCache(config=self.config)
623-
624623
if position_ids is None:
625624
past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0
626625
position_ids = (
@@ -916,6 +915,9 @@ def get_image_features(
916915
elif pixel_values.dim() != 4:
917916
raise ValueError(f"pixel_values of shape {pixel_values.shape}, expect to be of 4 or 5 dimensions")
918917

918+
output_hidden_states = kwargs.pop("output_hidden_states", None)
919+
if output_hidden_states is None:
920+
output_hidden_states = getattr(self.config, "output_hidden_states", False)
919921
vision_outputs = self.vision_tower(pixel_values, output_hidden_states=True, **kwargs)
920922

921923
# Deepstack features: extract from multiple vision layers, downsample via interpolation
@@ -958,7 +960,10 @@ def get_image_features(
958960

959961
all_features.append((llm_layer, packed_group))
960962

961-
return Granite4VisionImageFeaturesOutput(deepstack_features=all_features)
963+
return Granite4VisionImageFeaturesOutput(
964+
deepstack_features=all_features,
965+
hidden_states=vision_outputs.hidden_states if output_hidden_states else None,
966+
)
962967

963968
def get_placeholder_mask(
964969
self, input_ids: torch.LongTensor, inputs_embeds: torch.FloatTensor, image_features: torch.FloatTensor

β€Žsrc/transformers/models/granite4_vision/modular_granite4_vision.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from ...configuration_utils import PreTrainedConfig
2626
from ...image_processing_utils import select_best_resolution
2727
from ...masking_utils import create_causal_mask
28-
from ...modeling_outputs import BaseModelOutputWithPast, BaseModelOutputWithPooling, ModelOutput
28+
from ...modeling_outputs import BaseModelOutputWithPast, BaseModelOutputWithPooling
2929
from ...modeling_rope_utils import ROPE_INIT_FUNCTIONS
3030
from ...processing_utils import Unpack
3131
from ...utils import TransformersKwargs, auto_docstring, can_return_tuple

β€Žsrc/transformers/models/granite4_vision/processing_granite4_vision.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# the file from the modular. If any change should be done, please apply the change to the
55
# modular_granite4_vision.py file directly. One of our CI enforces this.
66
# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
7-
# Copyright 2025 IBM. All rights reserved.
7+
# Copyright 2026 IBM and The HuggingFace Team. All rights reserved.
88
#
99
# Licensed under the Apache License, Version 2.0 (the "License");
1010
# you may not use this file except in compliance with the License.

0 commit comments

Comments
Β (0)