簡體   English   中英

SimpleTransformers model 沒有對整個數據進行訓練(如 epochs 欄下的括號中所示)?

[英]SimpleTransformers model not training on whole data (As shown in brackets under epochs bar)?

我的數據有 1751 個句子,但是在訓練時,一個數字出現在 epochs 條下。 有時它是 1751,這是有道理的,它是我擁有的句子數量,但大多數時候它是數據數量的 50%(我擁有的句子如下圖所示)。

我試圖查看文檔以了解該數字是否應與我的訓練集大小相同,但我找不到答案。 在此處輸入圖像描述 在此處輸入圖像描述 圖片

我正在使用帶有 GPU 后端的 Kaggle。 這是否意味着 model 確實沒有訓練所有數據?

簡而言之:不,它是在所有數據上進行訓練。

首先讓我們看看一些參數:

num_of_train_epochs: 4 :您的設置,這意味着整個數據集將被訓練 4 次。 這就是為什么您在 output 中有 4 個柱。

train_batch_size: 8 :這是默認設置,意味着對於權重的每次更新,您在訓練數據中使用 8 條記錄(總共 1751 條記錄)

所以這意味着,每個時期總共有 1751/8 = 218.875 個批次,也就是您在 output 中看到的 219/219。

你在底部看到的 876 只是意味着它總共經歷了 219(每個時期的批次)* 4(時期的數量)= 876 批次/更新。

證明這一點的一種方法是將num_of_train_epochs更改為 1。您應該看到 219 而不是 876。

batch 和 epoch的定義:

批量大小是在更新 model 之前處理的樣本數。

epochs 的數量是完整通過訓練數據集的次數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM