我是Pytorch和机器学习的新手,我将按照本教程https://www.learnopencv.com/image-classification-using-transfer-learning-in-pytorch/中的教程操作,并使用我的自定义数据集。然后我在这个教程中遇到了同样的问题,但我不知道如何在pytorch中提前停止,如果你有更好的方法而不创建提前停止进程,请告诉我。
发布于 2020-05-30 17:35:41
这就是我在每个时代所做的
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)不管它有多正确(我从另一个网站上的一篇文章中摘取了大部分代码,但忘记了在哪里,所以我不能放这个参考链接。我刚刚修改了一下),希望你能发现它是有用的,如果我错了,请指出错误。谢谢
发布于 2020-02-13 11:53:59
尝试使用下面的代码。
# 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")
breakhttps://stackoverflow.com/questions/60200088
复制相似问题