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早期踩踏班。