-
Notifications
You must be signed in to change notification settings - Fork 30.3k
Closed
Labels
Description
System Info
transformers 4.55.0
python 3.10
ubuntu 22
Who can help?
Information
- The official example scripts
- My own modified scripts
Tasks
- An officially supported task in the
examples
folder (such as GLUE/SQuAD, ...) - My own task or dataset (give details below)
Reproduction
#!/usr/bin/env python3
"""
Minimal reproduction script for Florence-2 AttributeError: '_supports_sdpa'
"""
import torch
import sys
def main():
print("Loading Florence-2 model...")
print(f"PyTorch version: {torch.__version__}")
print(f"Transformers version: {__import__('transformers').__version__}")
print(f"Python version: {sys.version}")
try:
from transformers import AutoConfig
# Load config
config = AutoConfig.from_pretrained(
"microsoft/Florence-2-base",
trust_remote_code=True
)
print(f"Config loaded: {type(config)}")
# Use AutoModelForCausalLM to trigger the error
from transformers import AutoModelForCausalLM
# This should trigger the _supports_sdpa error during model initialization
print("Loading model with AutoModelForCausalLM...")
model = AutoModelForCausalLM.from_pretrained(
"microsoft/Florence-2-base",
config=config,
trust_remote_code=True
)
print("Success!")
except AttributeError as e:
if "_supports_sdpa" in str(e):
print(f"SUCCESS: Reproduced the _supports_sdpa error!")
print(f"AttributeError: {e}")
import traceback
traceback.print_exc()
return True
else:
print(f"Different AttributeError: {e}")
import traceback
traceback.print_exc()
return False
except Exception as e:
print(f"Other error: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
success = main()
if success:
print("\n? Successfully reproduced the _supports_sdpa error!")
else:
print("\n? Could not reproduce the _supports_sdpa error")(h2ogpt)
gives:
Loading Florence-2 model...
PyTorch version: 2.6.0+cu124
Transformers version: 4.55.0
Python version: 3.10.18 | packaged by conda-forge | (main, Jun 4 2025, 14:45:41) [GCC 13.3.0]
Config loaded: <class 'transformers_modules.microsoft.Florence-2-base.5ca5edf5bd017b9919c05d08aebef5e4c7ac3bac.configuration_florence2.Florence2Config'>
Loading model with AutoModelForCausalLM...
SUCCESS: Reproduced the _supports_sdpa error!
AttributeError: 'Florence2ForConditionalGeneration' object has no attribute '_supports_sdpa'
Traceback (most recent call last):
File "/home/jon/h2ogpt_internal/florence2_minimal_repro.py", line 30, in main
model = AutoModelForCausalLM.from_pretrained(
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py", line 593, in from_pretrained
return model_class.from_pretrained(
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/transformers/modeling_utils.py", line 316, in _wrapper
return func(*args, **kwargs)
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/transformers/modeling_utils.py", line 4986, in from_pretrained
model = cls(config, *model_args, **model_kwargs)
File "/home/jon/.cache/huggingface/modules/transformers_modules/microsoft/Florence-2-base/5ca5edf5bd017b9919c05d08aebef5e4c7ac3bac/modeling_florence2.py", line 2535, in __init__
super().__init__(config)
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/transformers/modeling_utils.py", line 2227, in __init__
self.config._attn_implementation_internal = self._check_and_adjust_attn_implementation(
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/transformers/modeling_utils.py", line 2758, in _check_and_adjust_attn_implementation
return self.get_correct_attn_implementation(applicable_attn_implementation, is_init_check)
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/transformers/modeling_utils.py", line 2763, in get_correct_attn_implementation
if not self._supports_sdpa:
File "/home/jon/miniconda3/envs/h2ogpt/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1928, in __getattr__
raise AttributeError(
AttributeError: 'Florence2ForConditionalGeneration' object has no attribute '_supports_sdpa'
? Successfully reproduced the _supports_sdpa error!
Expected behavior
Shouldn't fail, unsure which transformers it started on.
fcakyonfcakyon