def embed_candidates()

in retrieval_eval_bleu.py [0:0]


def embed_candidates(candidates):
    out_tensor = None
    i = 0
    ch = candidates.split(2048, dim=0)
    for chunk in tqdm(range(len(ch))):
        _, encoded_cand = net(None, ch[chunk])
        if out_tensor is None:
            out_tensor = torch.FloatTensor(candidates.size(0), encoded_cand.size(1))
            if args.cuda:
                out_tensor = out_tensor.cuda()
        if args.normalize_cands:
            encoded_cand /= encoded_cand.norm(2, dim=1, keepdim=True)
        batch_size = encoded_cand.size(0)
        out_tensor[i : i + batch_size] = encoded_cand
        i += batch_size
    return out_tensor