AttributeError: модуль трансформеров не имеет атрибута TFGPTNeoForCausalLM
Я клонировал этот репозиторий / документацию https://huggingface.co/EleutherAI/gpt-neo-125M
Я получаю указанную ниже ошибку независимо от того, запускаю ли я ее в коллаборации Google или локально. Я также установил трансформаторы, используя этот
pip install git+https://github.com/huggingface/transformers
и убедился, что файл конфигурации называется config.json
5 tokenizer = AutoTokenizer.from_pretrained("gpt-neo-125M/",from_tf=True)
----> 6 model = AutoModelForCausalLM.from_pretrained("gpt-neo-125M",from_tf=True)
7
8
3 frames
/usr/local/lib/python3.7/dist-packages/transformers/file_utils.py in __getattr__(self, name)
AttributeError: module transformers has no attribute TFGPTNeoForCausalLM
Полный код:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neo-125M",from_tf=True)
model = AutoModelForCausalLM.from_pretrained("EleutherAI/gpt-neo-125M",from_tf=True)
2 ответа
Мое решение заключалось в том, чтобы сначала отредактировать исходный код, чтобы удалить строку, добавляющую «TF» перед пакетом, поскольку правильный модуль преобразователей - это GPTNeoForCausalLM, но где-то в исходном коде он вручную добавил перед ним «TF».
Во-вторых, перед клонированием репозитория обязательно запустить
git lfs install.
Эта ссылка помогла мне правильно установить git lfs https://askubuntu.com/questions/799341/how-to-install-git-lfs-on-ubuntu-16-04
Попробуйте без использования
from_tf=True
флаг, как показано ниже:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neo-125M")
model = AutoModelForCausalLM.from_pretrained("EleutherAI/gpt-neo-125M")
from_tf
ожидает
pretrained_model_name_or_path
(т.е. первый параметр), который должен быть путем для загрузки сохраненных контрольных точек Tensorflow.