首页 > 解决方案 > 如何使用基于变压器的模型绘制训练损失与验证损失

问题描述

我正在为仇恨语音检测任务微调 XLM-R 模型,我想绘制训练损失与验证损失,我应该怎么做?当我尝试收集 loss_values 并将它们绘制如下:

 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

我得到:在此处输入图像描述

标签: text-classificationbert-language-model

解决方案


推荐阅读