python - 如何将 batch_size < num_sample 与 keras.model.fit 下的数据集一起使用?
问题描述
我的数据集如果用一批 1000 格式化为: 56x((1000,4,1),(1000,1)) :
- 56 个元素
- 每个元素的形状为 (1000,4,1) 用于 x_training 和 (1000,1) 用于 y_label
当我使用 model.fit(dataset) 时,使用 1000 个样本来计算损失,迭代次数为每 epoch 56 次。所以每个 epoch 有 1000 步。
如何强制 keras 使用,例如 56 个样本来计算损失:我想做一些类似 model.fit(batch_size=56, dataset) 但使用数据集时不考虑 batch_size 的事情。
如果没有数据集,如果我使用两个张量并希望通过执行以下操作来使用 1000 的 batch_size:
- x_train : (56000,4,1)
- y_train:(56000)
我这样做: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 步)
我想减少总计算,因为它在我不使用数据集时有效......
非常感谢你的帮助 !
解决方案
推荐阅读
- python - Selenium 在我的程序中有时无法定位元素
- swift - 为什么我不能在不弄乱我的关闭代码的情况下向我的 UIPageViewController 添加多个(相同的)ViewController?
- react-native - react native nestedScrollEnabled 是做什么的?
- python - 从 for 循环中的 dict 中删除元素
- visual-studio - 使用 Msbuild 和 devenv 在项目解决方案下构建特定的 Visual Studio 项目
- python-3.x - PyQT5 输出控制台到 QTextEdit
- elastic-stack - 在 ELK 上可视化 Jobber 任务(通过 Filebeat)
- pine-script - 如何在Tradingview上的pinescript中的某个时间绘制一条垂直线?
- c++ - windeployqt 不会为调试应用程序部署 qwindowsd.dll
- c# - Powershell -> exe -> powershell 写入主机控制台日志记录失败