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的意思。呵呵呵呵,這樣輸出真的不怕有人誤會嗎?

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