python-3.x - 当数据量很大时,将数据拟合到机器学习 keras 模型中
问题描述
在使用 keras 的机器学习教程中,训练机器学习模型的代码就是这种典型的单行代码。
model.fit(X_train,
Y_train,
nb_epoch=5,
batch_size = 128,
verbose=1,
validation_split=0.1)
当训练数据较小时X_train
,这似乎很容易。并且是 numpy ndarrays。在实际情况下,训练数据可能会达到千兆字节,这可能太大而无法放入计算机的 RAM 中。Y_train
X_train
Y_train
model.fit()
当训练数据太大时如何发送数据?
解决方案
Keras 有一个简单的解决方案。您可以简单地使用 python 生成器,其中您的数据是延迟加载的。如果你有图像,你也可以使用 ImageDataGenerator。
def generate_data(x, y, batch_size):
while True:
batch = []
for b in range(batch_size):
batch.append(myDataSlice)
yield np.array(batch )
model.fit_generator(
generator=generate_data(x, y, batch_size),
steps_per_epoch=num_batches,
validation_data=list_batch_generator(x_val, y_val, batch_size),
validation_steps=num_batches_test)
推荐阅读
- angular - 添加到列表后,只有第一个新项目动画
- python - 可以计算一个列表中多个字符串的匹配吗?
- java - 从 Java 应用程序调用 getQueryResults 方法时,如何从 QueryResponse 访问 Schema?
- c# - 为插件调用 Swagger 生成器
- django - 禁用表单集表单域
- python - 将模型对象 ID 从模型复制到 Django 中的另一个模型
- c# - 使用 VS 2015 打开 VS 2017 项目时出现语法错误
- xamarin - Xamarin Prism 向右滑动区域更改或覆盖(两次向右滑动)
- flutter - Flutter 的 AutomaticKeepAliveClientMixin 在 navigator.push 之后不保持页面状态
- wordpress - 我将引导程序用于 wordpress 主题,但我的菜单项 deosnt 显示在移动视图中,否则没有问题