Update modeling_florence2.py
Browse files- modeling_florence2.py +5 -3
modeling_florence2.py
CHANGED
@@ -2288,7 +2288,8 @@ class Florence2Seq2SeqLMOutput(ModelOutput):
|
|
2288 |
|
2289 |
image_hidden_states of the model produced by the vision encoder
|
2290 |
"""
|
2291 |
-
|
|
|
2292 |
last_hidden_state: torch.FloatTensor = None
|
2293 |
past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None
|
2294 |
decoder_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None
|
@@ -2297,6 +2298,7 @@ class Florence2Seq2SeqLMOutput(ModelOutput):
|
|
2297 |
encoder_last_hidden_state: Optional[torch.FloatTensor] = None
|
2298 |
encoder_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None
|
2299 |
encoder_attentions: Optional[Tuple[torch.FloatTensor, ...]] = None
|
|
|
2300 |
|
2301 |
|
2302 |
FLORENCE2_START_DOCSTRING = r"""
|
@@ -2527,7 +2529,6 @@ class Florence2ForConditionalGeneration(Florence2PreTrainedModel):
|
|
2527 |
def __init__(self, config: Florence2Config):
|
2528 |
super().__init__(config)
|
2529 |
assert config.vision_config.model_type == 'davit', 'only DaViT is supported for now'
|
2530 |
-
del config.vision_config.model_type
|
2531 |
self.vision_tower = DaViT.from_config(config=config.vision_config)
|
2532 |
# remove unused layers
|
2533 |
del self.vision_tower.head
|
@@ -2731,7 +2732,8 @@ class Florence2ForConditionalGeneration(Florence2PreTrainedModel):
|
|
2731 |
image_features = self._encode_image(pixel_values)
|
2732 |
inputs_embeds, attention_mask = self._merge_input_ids_with_image_features(image_features, inputs_embeds)
|
2733 |
|
2734 |
-
|
|
|
2735 |
outputs = self.language_model(
|
2736 |
attention_mask=attention_mask,
|
2737 |
labels=labels,
|
|
|
2288 |
|
2289 |
image_hidden_states of the model produced by the vision encoder
|
2290 |
"""
|
2291 |
+
loss: Optional[torch.FloatTensor] = None
|
2292 |
+
logits: torch.FloatTensor = None
|
2293 |
last_hidden_state: torch.FloatTensor = None
|
2294 |
past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None
|
2295 |
decoder_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None
|
|
|
2298 |
encoder_last_hidden_state: Optional[torch.FloatTensor] = None
|
2299 |
encoder_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None
|
2300 |
encoder_attentions: Optional[Tuple[torch.FloatTensor, ...]] = None
|
2301 |
+
image_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None
|
2302 |
|
2303 |
|
2304 |
FLORENCE2_START_DOCSTRING = r"""
|
|
|
2529 |
def __init__(self, config: Florence2Config):
|
2530 |
super().__init__(config)
|
2531 |
assert config.vision_config.model_type == 'davit', 'only DaViT is supported for now'
|
|
|
2532 |
self.vision_tower = DaViT.from_config(config=config.vision_config)
|
2533 |
# remove unused layers
|
2534 |
del self.vision_tower.head
|
|
|
2732 |
image_features = self._encode_image(pixel_values)
|
2733 |
inputs_embeds, attention_mask = self._merge_input_ids_with_image_features(image_features, inputs_embeds)
|
2734 |
|
2735 |
+
if inputs_embeds is not None:
|
2736 |
+
attention_mask = attention_mask.to(inputs_embeds.dtype)
|
2737 |
outputs = self.language_model(
|
2738 |
attention_mask=attention_mask,
|
2739 |
labels=labels,
|