early stopping pytorch
v1.0.10
早期停止是一种正规化形式,用于避免在培训数据集上过度拟合。早期停止会跟踪验证损失,如果连续几个时期的损失停止减少,则训练停止。早期踩踏类中的EarlyStopping踩踏班级early_stopping_pytorch/early_stopping.py用于创建一个对象,以在训练Pytorch模型时跟踪验证损失。每次验证损失减少时,它都会保存模型的检查点。我们将patience论点设置在EarlyStopping班级中,以便在上次验证损失改善之前要等待多少个时代,然后才能打破训练循环。有一个简单的示例,说明如何在mnist_early_stopping_example笔记本中使用EarlyStopping类。
下面是示例笔记本的图,该图显示了早期对象制作的最后一个检查点,就在模型开始过度拟合之前。它的耐心设置为20。
pip install early-stopping-pytorch用于开发或想要最新的未发布的更改:
git clone https://github.com/your_username/early-stopping-pytorch.git
cd early-stopping-pytorch运行设置脚本以创建虚拟环境并安装所有必要的依赖项。
./setup_dev_env.sh激活虚拟环境:
source dev-venv/bin/activate以可编辑模式安装本地包装,以便您可以立即使用它:
pip install -e . from early_stopping_pytorch import EarlyStopping
# Initialize early stopping object
early_stopping = EarlyStopping ( patience = 7 , verbose = True )
# In your training loop:
for epoch in range ( num_epochs ):
# ... training code ...
val_loss = ... # calculate validation loss
# Early stopping call
early_stopping ( val_loss , model )
if early_stopping . early_stop :
print ( "Early stopping triggered" )
break有关一个完整的示例,请参见MNIST早期停止示例笔记本。
如果您发现此软件包在您的研究中有用,请考虑考虑到:
@misc { early_stopping_pytorch ,
author = { Bjarte Mehus Sunde } ,
title = { early-stopping-pytorch: A PyTorch utility package for Early Stopping } ,
year = { 2024 } ,
url = { https://github.com/Bjarten/early-stopping-pytorch } ,
}EarlyStopping班的early_stopping_pytorch/early_stopping.py的灵感来自IGNITE早期踩踏班。