Called at the end of the training epoch with the outputs of all training steps. Use this in case you need to do something with all the outputs for every training_step.
# the pseudocode for these calls train_outs =  for train_batch in train_data: out = training_step(train_batch) train_outs.append(out) training_epoch_end(train_outs)
List of outputs you defined in
training_step(), or if there are multiple dataloaders, a list containing a list of outputs for each dataloader.
If this method is not overridden, this won’t be called.
def training_epoch_end(self, training_step_outputs): # do something with all training_step outputs return result
With multiple dataloaders,
outputswill be a list of lists. The outer list contains one entry per dataloader, while the inner list contains the individual outputs of each training step for that dataloader.
def training_epoch_end(self, training_step_outputs): for out in training_step_outputs: # do something here