Frühes Stoppen ist eine Form der Regularisierung, die verwendet wird, um eine Überanpassung im Trainingsdatensatz zu vermeiden. Das frühzeitige Anhalten verfolgt den Validierungsverlust, wenn der Verlust nicht mehr abnimmt, wenn mehrere Epochen in Folge abnimmt, stoppt das Training. In der EarlyStopping Einstellung in early_stopping_pytorch/early_stopping.py wird ein Objekt erstellt, um den Validierungsverlust beim Training eines Pytorch -Modells zu verfolgen. Bei jedem Abnahme des Validierungsverlusts speichert es einen Kontrollpunkt des Modells. Wir haben das patience -Argument in der EarlyStopping -Klasse so viele Epochen festgelegt, wie wir nach dem letzten Mal, als sich der Validierungsverlust verbessert hat, bevor wir die Trainingsschleife brechen. Es gibt ein einfaches Beispiel dafür, wie die EarlyStopping Einstellung im Notebook mnist_early_stoping_example verwendet wird.
Darunter befindet sich ein Diagramm aus dem Beispiel -Notizbuch, das den letzten Kontrollpunkt des EarlyStoping -Objekts kurz bevor das Modell begann, zu überwinden. Es hatte Geduld auf 20.
pip install early-stopping-pytorchFür die Entwicklung oder wenn Sie die neuesten unveröffentlichten Änderungen wünschen:
git clone https://github.com/your_username/early-stopping-pytorch.git
cd early-stopping-pytorchFühren Sie das Setup -Skript aus, um eine virtuelle Umgebung zu erstellen, und installieren Sie alle erforderlichen Abhängigkeiten.
./setup_dev_env.shAktivieren Sie die virtuelle Umgebung:
source dev-venv/bin/activateInstallieren Sie das Paket lokal im bearbeitbaren Modus, damit Sie es sofort verwenden können:
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" )
breakFür ein vollständiges Beispiel finden Sie das MNIST Early Stoping Beispielnotizbuch.
Wenn Sie dieses Paket für Ihre Recherchen nützlich finden, sollten Sie es untersuchen, wenn Sie es als:
@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 } ,
} Die EarlyStopping Klasse in early_stopping_pytorch/early_stopping.py .