Как построить график потерь при обучении по сравнению с потерями при проверке с помощью моделей на основе трансформаторов

#text-classification #bert-language-model

Вопрос:

Я дорабатываю модель XLM-R для задачи обнаружения hatespeech и хочу построить график потерь при обучении по сравнению с потерей проверки, как мне это сделать? Когда я пытаюсь собрать значения loss_ и построить их следующим образом:

  for i, batch in tqdm(enumerate(train_dataloader)):
       cnt  = 1
       b_input_ids = batch[1]
       b_input_mask = batch[2]
       b_labels = batch[taskIndex]
    
       # sent the data to "device"
       b_input_ids = b_input_ids.to(device)
       b_input_mask = b_input_mask.to(device)
       b_labels = b_labels.to(device)
            
       pred = model(b_input_ids,b_input_mask)
       loss = loss_function(pred.view(-1, classNum), b_labels.view(-1))
       with torch.no_grad():
         epoch_loss  = (loss.item() * len(b_labels))
         loss_values.append(loss.item())
         global_pred.append(pred)
         global_label.append(b_labels)
       optimizer.zero_grad()
       loss.backward()
       optimizer.step()
       # scheduler.step()
   print("Traing loss plot: ")
   plt.plot(loss_values)
 return model
 

Я получаю:введите описание изображения здесь