AttributeError: 'HfMoondream' object has no attribute 'all_tied_weights_keys'. Did you mean: '_tied_weights_keys'?

#30
by Clausss - opened

AttributeError: 'HfMoondream' object has no attribute 'all_tied_weights_keys'. Did you mean: '_tied_weights_keys'?

anyone can help fix this?
because I want use this model but I have this error
same for stable(5.0.0) and latest from git

I bet you have too new transformers...

try reverting to a bit older transformers (4.x), this fixed the issue for me.

pip install "transformers<5.0.0"

I guess the actual error is in the initialization of the model and it's device_map attribute, anyhow this is a guess. YOu could maybe move the model to cuda manually later?

same problem

not working

same problem

Try calling model.post_init() right after model construction. That might fix your issue. Most likely due to the transformers version like Kelmeilia mentioned

any update on this?

Use below code

import torch
_orig_getattr = torch.nn.Module.__getattr__
def _patched_getattr(self, name):
    if name == "all_tied_weights_keys":
        return {}
    return _orig_getattr(self, name)
torch.nn.Module.__getattr__ = _patched_getattr
moondream org

@Clausss @jaabir as @Kelmeilia suggested, you have too new of a HF version (v5.0.0 changed some names). If you use an older transformers version, such as 4.56.1, it will work.

pip install transformers==4.56.1

@err805 The same problem occurs when using moondream-station.
This's an issue with trying to use the older version of transformers for the latest version of pytorch required by moondream, so the only option is to use the code I used or m87-labs/kestrel.

Sign up or log in to comment