GNMT-使用开发集计算训练期间的BLEU分数

时间:2018-08-07 07:27:39

标签: python tensorflow transliteration

我目前正在研究GNMT(Google神经机器翻译),以便将非英语句子翻译成英语句子。我想看看在每个检查点都对模型进行了多少训练,但是原始代码仅提供了困惑(math.exp(float(loss))。

因此,我想计算每个检查点的BLEU分数,就像困惑一样。但是,我不知道如何提取由GNMT模型生成的结果句子。

我认为答案类似于下面的代码,但是下面的代码假设给定句子只是一个句子(而我将给出几个句子,dev set,作为输入)

outputs = [int(np.argmax(logit, axis=1)) for logit in output_logits]
if data_utils.EOS_ID in outputs:
    outputs=outputs[:outputs.index(data_utils.EOS_ID)]
return "".join([self.rev_fr_vocab[output] for output in outputs]

感谢您提供的任何帮助!

0 个答案:

没有答案