INNER CODE UNIT · Python
all_logits
HendrikStrobelt/detecting-fake-text · backend/api.py:87
all_logits = output.logits[:-1].detach().squeeze()
# construct target and pred
# yhat = torch.softmax(logits[0, :-1], dim=-1)
all_probs = torch.softmax(all_logits, dim=1)
y = token_ids[1:]
# Sort the predictions for each timestep
sorted_preds = torch.argsort(all_probs, dim=1, descending=True).cpu()
# [(pos, prob), ...]
real_topk_pos = list(
[int(np.where(sorted_preds[i] == y[i].item())[0][0])
for i in range(y.shape[0])])
real_topk_probs = all_probs[np.arange(
0, y.shape[0], 1), y].data.cpu().numpy().tolist()
real_topk_probs = list(map(lambda x: round(x, 5), real_topk_probs))
real_topk = list(zip(real_topk_pos, real_topk_probs))
# [str, str, ...]