python - 在 Keras 中创建“逐个样本”模型
问题描述
我想在 Keras 中创建一个可以“逐个样本”学习的模型;这种机器称为在线学习,一种按数据接收和拟合数据的模型。我的问题是:我怎样才能在 Keras 中做到这一点?batch_size=1
是否可以通过在拟合时设置来做到这一点?
解决方案
在 Keras 中,批量大小与数据的输入方式无关。批量大小决定了每次梯度更新将有多少并行样本输入网络。对批量大小的更清晰解释取决于网络是什么。例如,在有状态的 RNN 中,批大小为 N 意味着输入张量包含 N 个独立序列。单个批处理在所有 N 系列上向前移动一个样本。因此,在每批中,处理 N 个样本(每个 N 个独立序列中的 1 个)并更新梯度。
因此,在您的情况下,似乎只有一个样本流,如果样本是时间序列数据类型,那么我们肯定有batch_size=1
,如果在部署模型之前您有一个数据集来训练模型,您可以阅读它们都在内存和fit
模型中,并且在部署后提供新的观察结果,您可以一次又一次地train_on_batch
或模型。fit
模型的次数没有限制fit
。
推荐阅读
- c++ - 如何在 C++ 中将十进制转换为 IEEE 754 半精度格式?
- python - python : 如果mysql数据库有数据变化,如何运行该函数
- spring-boot - 如何使用 RedirectView 在 SpringBoot Rest Api 中传递对象?
- javascript - 带快递的NodeJS:标头未定义
- python-3.x - 加载包含 Lambda 层的 Keras 模型时出现 AttributeError
- python - 发生异常时如何不创建对象(python)?
- c - mod 在这个 DP 问题中是如何神秘有用的,底层算法是什么?
- ruby - 检查块操作的优雅方法?
- react-native - 使用 react-native-swipeout 时如何分隔列表中的行?
- express - 从远程机器读取文件