Код: Выделить всё
# set initial loss to infinite
best_valid_loss = float('inf')
# empty lists to store training and validation loss of each epoch
train_losses=[]
valid_losses=[]
#for each epoch
for epoch in range(epochs):
print('\n Epoch {:} / {:}'.format(epoch + 1, epochs))
#train model
train_loss, _ = train()
#evaluate model
valid_loss, _ = evaluate()
#save the best model
if valid_loss < best_valid_loss:
best_valid_loss = valid_loss
torch.save(model.state_dict(), 'saved_weights.pt')
# append training and validation loss
train_losses.append(train_loss)
valid_losses.append(valid_loss)
print(f'\nTraining Loss: {train_loss:.3f}')
print(f'Validation Loss: {valid_loss:.3f}')
Очень важно: тот же код отлично работает с другим набором данных (с тем же количеством столбцов и тем же типом данных), но не работает с данными твитов. (Единственная разница заключается в размере. Раньше было 5500 записей, а в наборе данных твитов — 10 000 записей)
Подробнее здесь: https://stackoverflow.com/questions/676 ... -float-for