SimpleTransformers 模型没有对整个数据进行训练(如 epochs 栏下的括号中所示)?
SimpleTransformers model not training on whole data (As shown in brackets under epochs bar)?
我的数据有 1751 个句子,但是在训练时,一个数字出现在 epochs 条下。有时它是 1751 这是有道理的,它是我拥有的句子数量,但大多数时候它是数据数量的 50%(我拥有的句子如下图所示)。
我试图查看文档以了解该数字是否应与我的训练集大小相同,但我找不到答案。
我正在使用带有 GPU 后端的 Kaggle。这是否意味着模型确实没有训练所有数据?
简而言之:不是,是在所有数据上训练。
首先让我们看看一些参数:
num_of_train_epochs: 4
:您的设置,这意味着整个数据集将被训练 4 次。这就是为什么输出中有 4 个柱状图的原因。
train_batch_size: 8
:这是 default setting,这意味着对于权重的每次更新,您在训练数据中使用 8 条记录(总共 1751 条记录)
所以这意味着,每个时期总共有 1751/8 = 218.875 个批次,这是您在输出中看到的 219/219。
你在底部看到的 876 只是意味着它总共经历了 219(每个时期的批次)* 4(时期的数量)= 876 batches/updates。
证明这一点的一种方法是将 num_of_train_epochs
更改为 1。您应该看到 219 而不是 876。
batch and epoch的定义:
The batch size is a number of samples processed before the model is updated.
The number of epochs is the number of complete passes through the training dataset.
我的数据有 1751 个句子,但是在训练时,一个数字出现在 epochs 条下。有时它是 1751 这是有道理的,它是我拥有的句子数量,但大多数时候它是数据数量的 50%(我拥有的句子如下图所示)。
我试图查看文档以了解该数字是否应与我的训练集大小相同,但我找不到答案。
我正在使用带有 GPU 后端的 Kaggle。这是否意味着模型确实没有训练所有数据?
简而言之:不是,是在所有数据上训练。
首先让我们看看一些参数:
num_of_train_epochs: 4
:您的设置,这意味着整个数据集将被训练 4 次。这就是为什么输出中有 4 个柱状图的原因。
train_batch_size: 8
:这是 default setting,这意味着对于权重的每次更新,您在训练数据中使用 8 条记录(总共 1751 条记录)
所以这意味着,每个时期总共有 1751/8 = 218.875 个批次,这是您在输出中看到的 219/219。
你在底部看到的 876 只是意味着它总共经历了 219(每个时期的批次)* 4(时期的数量)= 876 batches/updates。
证明这一点的一种方法是将 num_of_train_epochs
更改为 1。您应该看到 219 而不是 876。
batch and epoch的定义:
The batch size is a number of samples processed before the model is updated.
The number of epochs is the number of complete passes through the training dataset.