Предупреждение о длине последовательности индексов токенов при использовании предварительно обученной модели Роберты для анализа настроений

В настоящее время я использую предварительно обученную модель Роберты для определения оценок и категорий настроений для моего набора данных. Я усекаю длину до 512, но все равно получаю предупреждение. Что здесь происходит не так? Для этого я использую следующий код:

      from transformers import AutoTokenizer
from transformers import AutoModelForSequenceClassification
from scipy.special import softmax
model = f"j-hartmann/sentiment-roberta-large-english-3-classes"
tokenizer = AutoTokenizer.from_pretrained(model, model_max_length=512,truncation=True)
automodel = AutoModelForSequenceClassification.from_pretrained(model)

Предупреждение, которое я получаю здесь:

      Token indices sequence length is longer than the specified maximum sequence length for this model (627 > 512). Running this sequence through the model will result in indexing errors

1 ответ

Вы не поделились кодом, в котором вы используете токенизатор для кодирования/токенизации входных данных, поэтому я приведу свой собственный пример, чтобы объяснить, как вы можете этого добиться.

      tokenizer = RobertaTokenizer.from_pretrained(model_path,model_max_length=512)

пример использования:

      text = "hello "*513 # example text with more than 512 words

tokenizer(text, max_length=512, truncation=True, padding='max_length')

# you may use tokenizer.encode_plus() or tokenizer.encode() based on your need with same parameters to get similar length tokens i.e 512 

Эти параметры будут разбивать любую строку на токены путем заполнения (если количество токенов < ) или усечения (для количества токенов > ).

Примечание :max_lengthне может быть больше, чем512для модели Роберта.

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