如何使用Torch Framework绘制训练日志中的损失

问题描述 投票:0回答:1

我正在用Torch(不是pytorch)训练车道检测模型。训练脚本还会创建一个如下所示的日志文件:

 | Epoch: [1][1/88880][1]  Time 4.91  LR 0.01000  Err1 0.09779 (0.09779)  Err2 0.03161 (0.03161)    
 | Epoch: [1][2/88880][2]  Time 1.51  LR 0.01000  Err1 0.16534 (0.13157)  Err2 0.03048 (0.03105)    
 | Epoch: [1][3/88880][3]  Time 1.57  LR 0.01000  Err1 0.33015 (0.19776)  Err2 0.15016 (0.07075)    
 | Epoch: [1][4/88880][4]  Time 1.49  LR 0.01000  Err1 0.12389 (0.17929)  Err2 0.03932 (0.06289)    
 | Epoch: [1][5/88880][5]  Time 1.49  LR 0.01000  Err1 0.13950 (0.17133)  Err2 0.03877 (0.05807)    
 | Epoch: [1][6/88880][6]  Time 1.49  LR 0.01000  Err1 0.26979 (0.18774)  Err2 0.03070 (0.05351)    
 | Epoch: [1][7/88880][7]  Time 1.52  LR 0.01000  Err1 0.41120 (0.21967)  Err2 0.04841 (0.05278)

现在我想绘制每次迭代的损失。火炬中是否有一种绘制火车日志损失的方法?

我还有第二个问题。括号中第一次损失和第二次损失之间有什么区别?

python torch
1个回答
0
投票
  1. 第一个问题: 您可以记录每次迭代中的损失,迭代索引(1/88880 < - 1是迭代索引)。 使用matplotlib包绘制它。
indices = []
losses = []

for loop:
   losses.append(loss.item())
   indices.append(index)

# plot it
import matplotlib.pyplot as plt
plt.plot(indices, losses)
  1. 第二个问题:第一个损失是第一次loss预测的batch,所以它确实为第二次损失。
© www.soinside.com 2019 - 2024. All rights reserved.