models/PaddleNLP/PaddleTextGEN/seq2seq/该项目是官方的翻译模型项目,我想问的是该模型中,计算的ppl值,在训练集,验证集和测试集都有计算的这个值,这是perplexity的计算吗?但跟网上查到的perplexity公式不一样。该代码中是这样计算的ppl = np.exp(total_loss / word_count),所以这里的ppl是什么度量的计算呢?请求解惑,感谢。具体相关代码如下:
def eval(data, epoch_id=0): eval_data_iter = reader.get_data_iter(data, batch_size, mode='eval') total_loss = 0.0 word_count = 0.0 for batch_id, batch in enumerate(eval_data_iter): input_data_feed, word_num = prepare_input( batch, epoch_id, with_lr=False) fetch_outs = exe.run(inference_program, feed=input_data_feed, fetch_list=[loss.name], use_program_cache=False) cost_train = np.array(fetch_outs[0]) total_loss += cost_train * batch_size word_count += word_num ppl = np.exp(total_loss / word_count) return ppl
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
这是自然语言处理的问题吗?