Предупреждение о длине последовательности индексов токенов при использовании предварительно обученной модели Роберты для анализа настроений
В настоящее время я использую предварительно обученную модель Роберты для определения оценок и категорий настроений для моего набора данных. Я усекаю длину до 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
для модели Роберта.