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

问题描述

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

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 (将#修改为@)