Issues with Trainer class on custom dataset

Hi,
I am also facing the same problem, it will be very helpful if you can help me because I am still a beginner at using LLMs and hugging face. I am pasting my code below.

from transformers import AutoModelForSequenceClassification, AutoTokenizer, TrainingArguments, Trainer
import datasets
import torch as t
from transformers import DataCollatorWithPadding
import evaluate
import numpy as np

dataset = datasets.load_dataset(“tweet_eval”,“emotion”)
x_train = dataset[“train”][“text”]
y_train = dataset[“train”][“label”]
x_test = dataset[“test”][“text”]
y_test = dataset[“test”][“label”]
def load_LLM(llm, device):
num_labels = 4
id2label = {0: “Anger”, 1: “Joy”, 2: “Optimism”, 3: “Sadness”}
label2id = {“Anger”: 0, “Joy”: 1, “Optimism”: 2, “Sadness”:3}
model = AutoModelForSequenceClassification.from_pretrained(llm,num_labels=num_labels,id2label=id2label, label2id=label2id)
model.to(device)
tokenizer = AutoTokenizer.from_pretrained(llm)
return model, tokenizer
llm = “EleutherAI/gpt-neo-2.7B”
device = t.device(‘cuda’ if t.cuda.is_available() else ‘cpu’)
model,tokenizer = load_LLM(llm,device)
train_inputs = tokenizer(x_train,truncation=True)
test_inputs = tokenizer(x_test,truncation=True)
data_collator = DataCollatorWithPadding(tokenizer=tokenizer)
accuracy = evaluate.load(“accuracy”)
def compute_metrics(eval_pred):
predictions, labels = eval_pred
predictions = np.argmax(predictions, axis=1)
return accuracy.compute(predictions=predictions, references=labels)
training_args = TrainingArguments(
output_dir=“my_awesome_model”,
learning_rate=2e-5,
per_device_train_batch_size=16,
per_device_eval_batch_size=16,
num_train_epochs=2,
weight_decay=0.01,
evaluation_strategy=“epoch”,
save_strategy=“epoch”,
load_best_model_at_end=True,
push_to_hub=True,
)

trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_inputs,
eval_dataset=test_inputs,
tokenizer=tokenizer,
data_collator=data_collator,
compute_metrics=compute_metrics,
)

trainer.train()

I am getting the exact same error and I don’t know how to resolve it.