Zhyan1212 2023-08-22 10:15 采纳率: 63.6%
浏览 14
已结题

lstm分类loss曲线异常问题

lstm用于分类,损失函数为交叉熵,优化器为adam lr=0.01,std归一化;loss曲线是一条上升曲线,然而准确率也是上升的。
数据shape为【batch_size,1,sequence_length】= 【256,1,2000】,经过处理变为【256, 1, 15】
nn.LSTM参数设置inputsize = 15, hidden_size=16, num_layers=2, batch_first=True, bidirectional=True
具体训练为:

  loss_all  = 0
  train_acc = 0
  for step, (x, y) in enumerate(train_loader):  # gives batch data
          output = lstm(x) 
          loss = loss_func(output, y)  
          optimizer.zero_grad() 
          loss.backward()  
          optimizer.step() 

          train_pred = torch.argmax(output, dim=1)
          train_acc = (train_pred == y).float()
          train_acc = torch.mean(train_acc)
          total_train_acc = total_train_acc + train_acc
          loss_all = loss_all + loss

      total_train_loss = loss_all / len(train_loader)
      total_train_acc = total_train_acc / len(train_loader)
      total_loss.append(total_train_loss.item())
      total_acc.append(total_train_acc.item())

具体曲线如下:

img

img


为什么会出现这种情况?计算loss与准确率 len(train_loader)这里z作为除数是否正确?

  • 写回答

2条回答 默认 最新

  • Resphalios 2023-08-22 11:56
    关注

    你这代码运行的起来?total_train_acc这个参数在哪里初始了?问问题附上尽量完整的代码

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月1日
  • 已采纳回答 8月24日
  • 创建了问题 8月22日

悬赏问题

  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题