ThilinaRajapakse/simpletransformers

TypeError when training T5 with evaluate_during_training=True

timmartin opened this issue · 1 comments

Describe the bug
When training T5 with evaluate_during_training = True, it throws an exception during training:

Traceback (most recent call last):
  File "/home/timm/dev/simpletransformers/t5_minimal_start.py", line 43, in <module>
    model.train_model(train_df, eval_data=eval_df)
  File "/home/timm/dev/simpletransformers/simpletransformers/t5/t5_model.py", line 229, in train_model
    global_step, training_details = self.train(
  File "/home/timm/dev/simpletransformers/simpletransformers/t5/t5_model.py", line 758, in train
    results = self.eval_model(
  File "/home/timm/dev/simpletransformers/simpletransformers/t5/t5_model.py", line 929, in eval_model
    eval_dataset["prefix"], eval_dataset["input_text"]
  File "/home/timm/dev/simpletransformers/simpletransformers/t5/t5_utils.py", line 199, in __getitem__
    return self.examples[index]
TypeError: list indices must be integers or slices, not str

To Reproduce
Run the "T5 Minimal Start" example from the documentation.

Expected behavior
No exception.

Desktop (please complete the following information):

  • Linux

Additional context
The exception isn't thrown if you set evaluate_during_training = False.

I believe it's related to this change

I confirm the issue. You can replicate using example: https://simpletransformers.ai/docs/t5-specifics/#evaluating-generated-sequences
The example works in 0.63.9.