INNER CODE UNIT · Python

evaluate

mlwithme/BertWithPretrained · Tasks/TaskForChineseNER.py:161

def evaluate(config, val_iter, model, data_loader):
    model.eval()
    real_true, real_pred = [], []
    show = True
    with torch.no_grad():
        for idx, (sen, token_ids, labels) in enumerate(val_iter):
            token_ids = token_ids.to(config.device)
            labels = labels.to(config.device)
            padding_mask = (token_ids == data_loader.PAD_IDX).transpose(0, 1)
            logits = model(input_ids=token_ids,  # [src_len, batch_size]
                           attention_mask=padding_mask,  # [batch_size,src_len]
                           token_type_ids=None,
                           position_ids=None,
                           labels=None)  # [src_len, batch_size]
            # logits :[src_len, batch_size, num_labels]
            if show:
                show_result(sen[:10], logits[:, :10], token_ids[:, :10], config.entities)
                show = False

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…