Quantcast
Viewing all articles
Browse latest Browse all 36

ValueError: too many values to unpack (expected 3)

For studying purposes, I am trying to create a simple fine-tuning example using t5 and lighting:

import pandas as pd

df = pd.DataFrame({
    "text": ["O Brasil é um país localizado na América do Sul.",
              "A capital do Brasil é Brasília.",
              "A população do Brasil é de mais de 210 milhões de pessoas."],
    "question": ["Qual é o país localizado na América do Sul?",
                  "Qual é a capital do Brasil?",
                  "Qual é a população do Brasil?"]
})

from transformers import T5ForConditionalGeneration
import torch

model = T5ForConditionalGeneration.from_pretrained("t5-base")

from pytorch_lightning import LightningModule, Trainer

class T5FineTuner(LightningModule):

    def __init__(self):
        super().__init__()
        self.model = T5ForConditionalGeneration.from_pretrained("t5-base")

    def forward(self, input_ids, attention_mask):
        return self.model(input_ids, attention_mask)

    def training_step(self, batch, batch_idx):

        input_ids, attention_mask, target_ids = batch
        output = self.model(input_ids, attention_mask)
        output = output.logits
        loss = self.loss(output, target_ids)

        self.log("loss", loss, on_step=True, on_epoch=True)
        return loss

    def configure_optimizers(self):
        optimizer = torch.optim.AdamW(self.model.parameters(), lr=1e-4)
        return optimizer

trainer = Trainer(max_epochs=5, gpus=1)
trainer.fit(model=T5FineTuner(), train_dataloaders=df)

But I got this error:

ValueError: too many values to unpack (expected 3)

How can I fix that?

4 posts - 2 participants

Read full topic


Viewing all articles
Browse latest Browse all 36

Trending Articles