图像分类中如何提前停止

2024-05-15 21:55:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Pytorch和机器学习的新手,我将在本教程中学习本教程https://www.learnopencv.com/image-classification-using-transfer-learning-in-pytorch/,并使用我的自定义数据集。然后我在本教程中也遇到了同样的问题,但我不知道如何在pytorch中提前停止,如果您没有创建提前停止过程,那么请告诉我


Tags: inhttpsimagecom机器www教程pytorch
2条回答

试试下面的代码

     # Check early stopping condition
     if epochs_no_improve == n_epochs_stop:
        print('Early stopping!' )
        early_stop = True
        break
     else:
        continue
     break
if early_stop:
    print("Stopped")
    break

这就是我在每个时代所做的

val_loss += loss
val_loss = val_loss / len(trainloader)
if val_loss < min_val_loss:
  #Saving the model
  if min_loss > loss.item():
    min_loss = loss.item()
    best_model = copy.deepcopy(loaded_model.state_dict())
    print('Min loss %0.2f' % min_loss)
  epochs_no_improve = 0
  min_val_loss = val_loss

else:
  epochs_no_improve += 1
  # Check early stopping condition
  if epochs_no_improve == n_epochs_stop:
    print('Early stopping!' )
    loaded_model.load_state_dict(best_model)

Donno它有多正确(我从另一个网站的帖子中获取了大部分代码,但忘了放在哪里,所以我无法放置参考链接。我刚刚对其进行了一点修改),希望您觉得它有用,如果我错了,请指出错误。多谢各位

相关问题 更多 >