INNER CODE UNIT · Python
train_loss
mlwithme/BertWithPretrained · Tasks/TaskForChineseNER.py:146
train_loss = losses / len(train_iter)
logging.info(f"Epoch: [{epoch + 1}/{config.epochs}],"
f" Train loss: {train_loss:.3f}, Epoch time = {(end_time - start_time):.3f}s")
if (epoch + 1) % config.model_val_per_epoch == 0:
acc = evaluate(config, val_iter, model, data_loader)
logging.info(f"Accuracy on val {acc:.3f}")
config.writer.add_scalar('Testing/Acc', acc, global_steps)
if acc > max_acc:
max_acc = acc
state_dict = deepcopy(model.state_dict())
torch.save({'last_epoch': global_steps,
'model_state_dict': state_dict},
model_save_path)
def evaluate(config, val_iter, model, data_loader):
model.eval()
real_true, real_pred = [], []