微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在训练网络期间我的损失非常高

如何解决在训练网络期间我的损失非常高

请帮我解决这个问题。我的训练和验证损失都非常高。为什么会发生?代码如下:

kernels=[[4,3,2,1]]
out_channels=[[32,64,128,256]]
dropout_p=[[0.1,0.2,0.3,0.4,0.5,0.6]]
image_size=[224]
batch_size=[64]
n_epochs=500

for bs in batch_size:
  for k in kernels:
    for out_ch in out_channels:
      for dp in dropout_p:
        for img_s in image_size:
          print(f'batch_s:{bs} img_s:{img_s} kernels:{k} out_ch:{out_ch} dropout_p:{dp}')

          net=NaimishNet(img_s)
          init_weights(net.conv1)
          init_weights(net.conv2)
          init_weights(net.conv3)
          init_weights(net.conv4)
          init_weights(net.fc1)
          init_weights(net.fc2)
          init_weights(net.fc3)

          criterion=nn.MSELoss()
          optimizer=optim.Adam(params=net.parameters())

          plateau_lr_scheduler=lr_scheduler.ReduceLROnPlateau(optimizer,patience=7,verbose=True)

          train_loss,val_loss,epochs=train_net(net,n_epochs,img_s,bs,plateau_lr_scheduler)

这是我收到的平均训练和平均验证丢失通知。我试图改变学习率,应用批量归一化,...但没有奏效。

Epoch:1,Avg.Training Loss:320666.74062,Avg.Validation Loss:355096.72443
Epoch:2,Avg.Training Loss:324233.91875,Avg.Validation Loss:356402.78125
EarlyStopping counter:1 out of 15
Epoch:3,Avg.Training Loss:321298.83125,Avg.Validation Loss:357082.65980
EarlyStopping counter:2 out of 15
Epoch:4,Avg.Training Loss:322202.01875,Avg.Validation Loss:357111.66051
EarlyStopping counter:3 out of 15
Epoch:5,Avg.Training Loss:319302.03125,Avg.Validation Loss:356455.19318
EarlyStopping counter:4 out of 15

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。