Pytorch: Механизм ранней остановкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pytorch: Механизм ранней остановки

Сообщение Anonymous »

Я работаю с Pytorch и набором данных CIFAR100. Хотя я новичок, я хотел бы включить в свой код механизм ранней остановки
def train(net,trainloader,epochs,use_gpu = True):
...
net.train()
for epoch in range(epochs):
print ("Epoch {}/{}".format(epoch+1, epochs))
running_loss = 0.0
running_corrects = 0
for i, data in enumerate(trainloader, 0):
images, labels = data[0].to(device), data[1].to(device)
optimizer.zero_grad()
outputs = net(images)
_, preds = torch.max(outputs, 1)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()

epoch_loss = running_loss/len(trainloader.dataset)
print('Loss: {}'.format(epoch_loss))

Это класс ранней остановки:
class EarlyStopper:
def __init__(self, patience=1, min_delta=0):
self.patience = patience
self.min_delta = min_delta
self.counter = 0
self.min_validation_loss = float('inf')

def early_stop(self, validation_loss):
if validation_loss < self.min_validation_loss:
self.min_validation_loss = validation_loss
self.counter = 0
elif validation_loss > (self.min_validation_loss + self.min_delta):
self.counter += 1
if self.counter >= self.patience:
return True
return False

У меня нет набора проверки, я полагаю, что тестовый набор такой же, как набор проверки.
Теперь я хотел бы знать, где я должен сделать эти строки:
р>
early_stopper = EarlyStopper(patience=3, min_delta=10)
for epoch in np.arange(n_epochs):
train_loss = train_one_epoch(model, train_loader)
validation_loss = validate_one_epoch(model, validation_loader)
if early_stopper.early_stop(validation_loss):
break


Подробнее здесь: https://stackoverflow.com/questions/785 ... -mechanism
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как устранить эту ошибку «ValueError: для ранней остановки для оценки требуется хотя бы один набор данных и метрика оцен
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Типы, допускающие значение NULL, в C# и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Обнуляемые типы и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Обнуляемые типы и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Обнуляемые типы и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»