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.

Другие вопросы по тегам