OpenNMT訓練過程中的命令列輸出資訊解釋

2021-09-27 13:28:35 字數 363 閱讀 6759

這個問題很簡單,但是這麼簡單的問題,opennmt也能讓人產生誤解,也算是本事啦。

我們在訓練模型的時候,可以看到opennmt會不斷生成類似:

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

解釋了ppl方法是compute perplexity用的,所以這個ppl實際上就是perplexity了。

如果我們直接搜尋ppl和xent,將不會有什麼有用的資訊。

在這裡看到:

xent原來是cross entropy的意思。呵呵呵呵,這樣輸出真的不怕有人誤會嗎?

的訓練過程 模型訓練過程中累計auc

在平時計算auc的時候,大都是使用 sklearn.metrics.roc auc score 來計算。一般操作是將每個batch 出來的結果 拼接起來,然後扔到該函式中計算。但是如果測試集量級過大 比如 10億量級 每個樣本的 結果拼接起來之後至少需要 3g記憶體。這個開銷顯然不是我們想要的。有什...

Tensorflow訓練過程中validation

tensorflow因為靜態圖的原因,邊train邊validation的過程相較於pytorch來說複雜一些。分別獲取訓練集和驗證集的資料。我這裡使用的是從tfrecoed讀入資料。training data img name batch train,img batch train,gtboxes...

訓練過程中的train,val,test的區別

train是訓練集,val是訓練過程中的測試集,是為了讓你在邊訓練邊看到訓練的結果,及時判斷學習狀態。test就是訓練模型結束後,用於評價模型結果的測試集。只有train就可以訓練,val不是必須的,比例也可以設定很小。test對於model訓練也不是必須的,但是一般都要預留一些用來檢測,通常推薦比...