A parada precoce é uma forma de regularização usada para evitar o excesso de ajuste no conjunto de dados de treinamento. A parada precoce mantém o controle da perda de validação, se a perda parar de diminuir para várias épocas seguidas, o treinamento para. A classe EarlyStopping em early_stopping_pytorch/early_stopping.py é usada para criar um objeto para acompanhar a perda de validação ao treinar um modelo Pytorch. Ele economizará um ponto de verificação do modelo cada vez que a perda de validação diminui. Estabelecemos o argumento patience na aula EarlyStopping para quantas épocas queremos esperar após a última vez que a perda de validação melhorou antes de quebrar o ciclo de treinamento. Há um exemplo simples de como usar a classe EarlyStopping no notebook mnist_early_stopping_example.
Por baixo, há um enredo do Notebook Exemplo, que mostra o último ponto de verificação feito pelo objeto de parada inicial, logo antes do modelo começar a exagerar. Tinha paciência definida para 20.
pip install early-stopping-pytorchPara desenvolvimento ou se você deseja as últimas mudanças não lançadas:
git clone https://github.com/your_username/early-stopping-pytorch.git
cd early-stopping-pytorchExecute o script de configuração para criar um ambiente virtual e instalar todas as dependências necessárias.
./setup_dev_env.shAtive o ambiente virtual:
source dev-venv/bin/activateInstale o pacote localmente no modo editável para que você possa usá -lo imediatamente:
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" )
breakPara um exemplo completo, consulte o notebook Mnist Early Stopping Exemplo.
Se você achar este pacote útil em sua pesquisa, considere citá -lo como:
@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 } ,
} A aula EarlyStopping em early_stopping_pytorch/early_stopping.py é inspirado na classe Ignite Earlytopping.