首页 > 解决方案 > 在 Keras 中创建“逐个样本”模型

问题描述

我想在 Keras 中创建一个可以“逐个样本”学习的模型;这种机器称为在线学习,一种按数据接收和拟合数据的模型。我的问题是:我怎样才能在 Keras 中做到这一点?batch_size=1是否可以通过在拟合时设置来做到这一点?

标签: pythontensorflowmachine-learningkerasdeep-learning

解决方案


在 Keras 中,批量大小与数据的输入方式无关。批量大小决定了每次梯度更新将有多少并行样本输入网络。对批量大小的更清晰解释取决于网络是什么。例如,在有状态的 RNN 中,批大小为 N 意味着输入张量包含 N 个独立序列。单个批处理在所有 N 系列上向前移动一个样本。因此,在每批中,处理 N 个样本(每个 N 个独立序列中的 1 个)并更新梯度。

因此,在您的情况下,似乎只有一个样本流,如果样本是时间序列数据类型,那么我们肯定有batch_size=1,如果在部署模型之前您有一个数据集来训练模型,您可以阅读它们都在内存和fit模型中,并且在部署后提供新的观察结果,您可以一次又一次地train_on_batch或模型。fit模型的次数没有限制fit


推荐阅读