def from_batch(self, translation_batch):
    batch = translation_batch['batch']
    assert (len(translation_batch['gold_score']) == len(translation_batch['predictions']))
    batch_size = batch.batch_size
    (preds, pred_score, gold_score, tgt_str, src) = (translation_batch['predictions'], translation_batch['scores'], translation_batch['gold_score'], batch.tgt_str, batch.src)
    translations = []
    for b in range(batch_size):
        pred_sents = self.vocab.convert_ids_to_tokens([int(n) for n in preds[b][0]])
        pred_sents = ' '.join(pred_sents).replace(' ##', '')
        gold_sent = ' '.join(tgt_str[b].split())
        raw_src = [self.vocab.ids_to_tokens[int(t)] for t in src[b]][:500]
        raw_src = ' '.join(raw_src)
        translation = (pred_sents, gold_sent, raw_src)
        translations.append(translation)
    return translations
def from_batch(self, translation_batch):
    batch = translation_batch['batch']
    assert (len(translation_batch['gold_score']) == len(translation_batch['predictions']))
    batch_size = batch.batch_size
    (preds, pred_score, gold_score, tgt_str, src) = (translation_batch['predictions'], translation_batch['scores'], translation_batch['gold_score'], batch.tgt_str, batch.src)
    translations = []
    for b in range(batch_size):
        pred_sents = self.vocab.convert_ids_to_tokens([int(n) for n in preds[b][0]])
        pred_sents = ' '.join(pred_sents).replace(' ##', )
        gold_sent = ' '.join(tgt_str[b].split())
        raw_src = [self.vocab.ids_to_tokens[int(t)] for t in src[b]][:500]
        raw_src = ' '.join(raw_src)
        translation = (pred_sents, gold_sent, raw_src)
        translations.append(translation)
    return translations