Transformers v4.x: преобразование медленного токенизатора в быстрый токенизатор

Я следую предварительно обученной модели трансформатора xlm-roberta- large-xnli пример

from transformers import pipeline
classifier = pipeline("zero-shot-classification",
                      model="joeddav/xlm-roberta-large-xnli")

и я получаю следующую ошибку

ValueError: Couldn't instantiate the backend tokenizer from one of: (1) a `tokenizers` library serialization file, (2) a slow tokenizer instance to convert or (3) an equivalent slow tokenizer class to instantiate and convert. You need to have sentencepiece installed to convert a slow tokenizer to a fast one.

Я использую версию Transformers '4.1.1'


person Miguel Trejo    schedule 23.12.2020    source источник


Ответы (2)


Согласно v4.0.0 выпуску Transformers sentencepiece была удалена как обязательная зависимость. Это означает, что

Токенизаторы, зависящие от библиотеки SentencePiece, не будут доступны при стандартной установке трансформаторов.

включая XLMRobertaTokenizer. Однако sentencepiece можно установить как дополнительную зависимость

pip install transformers[sentencepiece]

or

pip install sentencepiece

если у вас уже установлены трансформаторы.

person Miguel Trejo    schedule 23.12.2020
comment
pip install фрагмент предложения с последующим перезапуском ядра / среды выполнения решает проблему. - person YoungSheldon; 06.04.2021

Если вы сотрудничаете с Google:

  1. Сбросить время выполнения до заводских.
  2. Обновите pip с помощью следующей команды (pip install --upgrade pip)
  3. Установите фрагмент предложения с помощью следующей команды (! Pip install фрагмент предложения)
person Ayan Mondal    schedule 01.04.2021