【问题标题】:How to make early stopping in image classification pytorch如何在图像分类pytorch中提前停止
【发布时间】:2020-05-30 17:35:40
【问题描述】:

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

【问题讨论】:

  • Pytorch 原生还没有提前停止?

标签: python pytorch early-stopping


【解决方案1】:

这是我在每个时代所做的

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)

不知道它有多正确(我从另一个网站的帖子中获取了大部分代码,但忘记了在哪里,所以我不能放参考链接。我只是稍微修改了一下),希望你找到它有用,如果我错了,请指出错误。谢谢

【讨论】:

    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2022-12-18
      • 2020-05-23
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 2021-10-25
      • 2022-11-11
      • 2014-06-04
      • 2020-10-13
      相关资源
      最近更新 更多