首页 > 解决方案 > 如何将 batch_size < num_sample 与 keras.model.fit 下的数据集一起使用?

问题描述

我的数据集如果用一批 1000 格式化为: 56x((1000,4,1),(1000,1)) :

当我使用 model.fit(dataset) 时,使用 1000 个样本来计算损失,迭代次数为每 epoch 56 次。所以每个 epoch 有 1000 步

如何强制 keras 使用,例如 56 个样本来计算损失:我想做一些类似 model.fit(batch_size=56, dataset) 但使用数据集时不考虑 batch_size 的事情。

如果没有数据集,如果我使用两个张量并希望通过执行以下操作来使用 1000 的 batch_size:

我这样做:model.fit( batch_size=1000 , x=x_train, y=y_train)

然后它起作用了:只使用 56 个样本来计算损失,并且每个 epoch 仍然有 56 次迭代。所以似乎每个 epoch 使用了 1000 个样本

总结:在每种情况下,每个 epoch 有 56 步,每个 epoch 使用 1000 个样本。但是使用数据集时,使用 1000 个采样来计算损失,没有它时只使用 56 个。

我是否对数据集使用了 56 个批次,它将生成 1000 个元素,因此拟合模型的总时间将是相同的......(每个 epoch 将执行 1000 步)

我想减少总计算,因为它在我不使用数据集时有效......

非常感谢你的帮助 !

标签: pythonkeras

解决方案


推荐阅读