OpenNMT训练过程中的命令行输出信息解释

这个问题很简单,但是这么简单的问题,OpenNMT也能让人产生误解,也算是本事啦。

我们在训练模型的时候,可以看到OpenNMT会不断生成类似:

Step 50/400; acc:11.54; ppl:1714.07; xent:7.45; lr:1.00000; 662/656 tok/s; 86 sec

这样的输出,分别代表什么含义呢?Acc还好理解,就是Accuracy的缩写,但是ppl呢,是什么loss吗?我注意到在训练过程中其最小值接近1,那应该不是loss,但是搜索了一下OpenNMT的在线帮助,竟然没搜到直接的说明,只有这里:

http://opennmt.net/OpenNMT-py/onmt.html?highlight=ppl#onmt.utils.Statistics.ppl

解释了ppl方法是compute perplexity用的,所以这个ppl实际上就是perplexity了。

如果我们直接搜索ppl和xent,将不会有什么有用的信息。

在这里看到:http://opennmt.net/OpenNMT-py/onmt.html?highlight=xent#onmt.utils.Statistics.xent

xent原来是cross entropy的意思。呵呵呵呵,这样输出真的不怕有人误会吗?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章