I’m using my own loss function with the Trainer. I need to pass a custom criterion I wrote that will be used in the loss function to compute the loss. I have the following setup:
from transformers import Trainer, TrainingArguments
class MyTrainer(Trainer):
def compute_loss(self, model, inputs, return_outputs=False):
# I compute the loss here and I need my `criterion`
return loss
training_args = TrainingArguments(# the arguments...
)
# model = my model...
trainer = MyTrainer(model=model,
args=training_args,
# rest of the arguments...
)
I wonder if there is any way I can pass my custom criterion object to the Trainer either through the Trainer or TrainingArguments? Or, what is the best way to use my criterion without changing the Trainer?