def METHOD_NAME(self, report):
    answers = report.scores.argmax(dim=1)
    predictions = []
    answer_space_size = self.answer_processor.get_true_vocab_size()
    for idx, question_id in enumerate(report.question_id):
        answer_id = answers[idx].item()
        if answer_id >= answer_space_size:
            answer_id -= answer_space_size
            answer = report.context_tokens[idx][answer_id]
            if answer == self.context_processor.PAD_TOKEN:
                answer = "unanswerable"
        else:
            answer = self.answer_processor.idx2word(answer_id)
        # actual_answer = report.answers[idx]
        predictions.append(
            {
                "question_id": question_id.item(),
                "answer": answer,
                # "actual_answers": actual_answer,
                # "question_tokens": report.question_tokens[idx],
                # "image_id": report.image_id[idx].item()
            }
        )
    return predictions