model.eval() val_loss = 0 val_accuracy = 0 for batch in val_dataloader: batch_token_ids = batch[0].to(device) batch_attention_mask = batch[1].to(device) batch_labels = batch[2].to(device) with torch.no_grad(): (loss, logits) = model( batch_token_ids, attention_mask = batch_attention_mask, labels = batch_labels, token_type_ids = None, return_dict=False) logits = logits.detach().cpu().numpy() label_ids = batch_labels.to('cpu').numpy() val_loss += loss.item() val_accuracy += calculate_accuracy(logits, label_ids) average_val_accuracy = val_accuracy / len(val_dataloader)