Spaces:
Sleeping
Sleeping
Handle tensor outputs from Qwen decoder layers
Browse files- src/model_adapters.py +6 -4
src/model_adapters.py
CHANGED
|
@@ -107,14 +107,16 @@ class LlamaStyleAdapter(ModelAdapter):
|
|
| 107 |
hidden_states,
|
| 108 |
attention_mask=attention_mask,
|
| 109 |
position_ids=position_ids,
|
| 110 |
-
|
| 111 |
use_cache=use_cache,
|
| 112 |
position_embeddings=position_embeddings,
|
| 113 |
cache_position=cache_position,
|
| 114 |
)
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
|
|
|
|
|
|
| 118 |
|
| 119 |
def apply_final_norm(self, hidden_states: Tensor) -> Tensor:
|
| 120 |
return self._norm(hidden_states)
|
|
|
|
| 107 |
hidden_states,
|
| 108 |
attention_mask=attention_mask,
|
| 109 |
position_ids=position_ids,
|
| 110 |
+
past_key_value=past_key_values,
|
| 111 |
use_cache=use_cache,
|
| 112 |
position_embeddings=position_embeddings,
|
| 113 |
cache_position=cache_position,
|
| 114 |
)
|
| 115 |
+
# Recent Transformers decoder layers return a tensor directly. Indexing
|
| 116 |
+
# it like a tuple would drop the batch dimension after the first layer.
|
| 117 |
+
if isinstance(layer_outputs, torch.Tensor):
|
| 118 |
+
return layer_outputs, None
|
| 119 |
+
return layer_outputs[0], layer_outputs[1] if len(layer_outputs) > 1 else None
|
| 120 |
|
| 121 |
def apply_final_norm(self, hidden_states: Tensor) -> Tensor:
|
| 122 |
return self._norm(hidden_states)
|