Error using model in python: NameError: name 'init_empty_weights' is not defined

#108
by Shira1234 - opened

I just installed from pip the sentence-transformers package, and running:

from sentence_transformers import SentenceTransformer
model = SentenceTransformer("all-MiniLM-L6-v2")

results in the error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/shira/.venv/lib/python3.12/site-packages/sentence_transformers/SentenceTransformer.py", line 309, in __init__
    modules, self.module_kwargs = self._load_sbert_model(
                                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shira/.venv/lib/python3.12/site-packages/sentence_transformers/SentenceTransformer.py", line 1802, in _load_sbert_model
    module = module_class(model_name_or_path, cache_dir=cache_folder, backend=self.backend, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shira/.venv/lib/python3.12/site-packages/sentence_transformers/models/Transformer.py", line 81, in __init__
    self._load_model(model_name_or_path, config, cache_dir, backend, is_peft_model, **model_args)
  File "/home/shira/.venv/lib/python3.12/site-packages/sentence_transformers/models/Transformer.py", line 181, in _load_model
    self.auto_model = AutoModel.from_pretrained(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shira/.venv/lib/python3.12/site-packages/transformers/models/auto/auto_factory.py", line 571, in from_pretrained
    return model_class.from_pretrained(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shira/.venv/lib/python3.12/site-packages/transformers/modeling_utils.py", line 279, in _wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/shira/.venv/lib/python3.12/site-packages/transformers/modeling_utils.py", line 4333, in from_pretrained
    model_init_context = cls.get_init_context(is_quantized, _is_ds_init_called)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shira/.venv/lib/python3.12/site-packages/transformers/modeling_utils.py", line 3736, in get_init_context
    init_contexts = [no_init_weights(), init_empty_weights()]
                                        ^^^^^^^^^^^^^^^^^^
NameError: name 'init_empty_weights' is not defined

Would appreciate your help.
Running:
sentence-transformers-4.0.2
torch-2.6.0
transformers-4.51.0

I assume the issue was fixed in the following PR: https://github.com/huggingface/transformers/pull/37337 from 5 hours ago.
Therefore meanwhile I'd recommend to downgrade to last working version of transformers: 4.50.3 - worked for me.

Sentence Transformers org
β€’
edited 7 days ago

I think that's a good fix for now @anastasialurye , it does seem like a bug in Transformers v4.51.0. I imagine they'll have a fix for it released soon.

pip install transformers==4.50.3

should work!

  • Tom Aarsen
Your need to confirm your account before you can post a new comment.

Sign up or log in to comment