When running the sample locally, an error was reported:AttributeError: 'EVAVisionTransformer' object has no attribute '_initialize_weights'
The complete error report is as follows↓ ↓ ↓ ↓
File "/home/ai/.cache/huggingface/modules/transformers_modules/jinaai/jina-clip-implementation/51f02de9f2cf8afcd3bac4ce996859ba96f9f8e9/modeling_clip.py", line 229, in from_pretrained
return super().from_pretrained(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/transformers/modeling_utils.py", line 309, in _wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/transformers/modeling_utils.py", line 4574, in from_pretrained
) = cls._load_pretrained_model(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/transformers/modeling_utils.py", line 4884, in _load_pretrained_model
model._initialize_missing_keys(checkpoint_keys, ignore_mismatched_sizes, is_quantized)
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/transformers/modeling_utils.py", line 5477, in _initialize_missing_keys
self.initialize_weights()
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/transformers/modeling_utils.py", line 2556, in initialize_weights
self.smart_apply(self._initialize_weights)
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/transformers/modeling_utils.py", line 2547, in smart_apply
module.smart_apply(module._initialize_weights)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda/date/envs/jinaclip/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1940, in getattr
raise AttributeError(
AttributeError: 'EVAVisionTransformer' object has no attribute '_initialize_weights'
+1
I've encountered the same, I suspect it's caused by a transformers version that's too new, but I could be wrong!
@tomaarsen , I tested lower versions of sentence-transformers (3.4.0), but ran into the same issue. I will also pin transformers to see if it helps.
@tomaarsen , I can confirm that pinning transformers works. 4.51.3 works, but 4.52.3 does not. Thanks for the tip.
I attempted to make the following fixes, and currently the functions are normal. I'm not sure if other problems will be introduced
Hope it is useful to everyone
Modify eva_model.py and modeling_clip.py
All the "_init_weights" have been changed to " _initialize_weights"