我正在拟合一个Keras模型,使用SGD输入数据集X_train有55000个条目。

有人能解释一下黄色高亮显示的值吗?对我来说,当每个时代完成时,这应该对应于55000/55000。
model = keras.models.Sequential()
model.add(keras.layers.Flatten(input_shape=[28,28]))
model.add(keras.layers.Dense(300, activation="relu"))
model.add(keras.layers.Dense(100, activation="relu"))
model.add(keras.layers.Dense(10, activation="softmax"))
model.compile(loss="sparse_categorical_crossentropy", optimizer="sgd",metrics=["accuracy"])
history = model.fit(X_train , y_train, epochs=30 , validation_data=(X_valid, y_valid))
发布于 2021-02-12 20:01:53
这些数字指的是小型批次,而不是单个样本。这些数据不是一个接一个地输入到模型中的,而是被称为“小型批次”或简单地称为“批次”的小组。可以将小型批处理的大小(每个小批处理中包含的元素数)指定为fit方法的参数。由于您没有提供任何值,所以它的默认值为32。这是在文献资料中指定的:
batch_size:整数还是零。每个梯度更新的样本数。如果未指定,batch_size将默认为32。如果数据是以数据集、生成器或keras.utils.Sequence实例的形式(因为它们生成批处理),则不要指定keras.utils.Sequence。
您的数据大小除以批处理大小给出批数,这是您看到的数字:ceil(55000 / 32) = 1719。由于它们是不可除的,最后一批的元素会少一些;具体来说,最后一批有24个元素(= 55000 - 32 * 1718),而不是32。
https://datascience.stackexchange.com/questions/89298
复制相似问题