当数据量巨大时,如何将数据拟合到Keras机器学习模型中

在使用Keras的机器学习教程中,训练机器学习模型的代码通常是一行简单的代码。

model.fit(X_train,           Y_train,           nb_epoch=5,           batch_size = 128,           verbose=1,           validation_split=0.1)

当训练数据X_trainY_train较小时,这看起来很容易。X_trainY_train是numpy的多维数组。在实际情况中,训练数据可能会达到几千兆字节,这可能太大而无法装入计算机的RAM中。

当训练数据过于庞大时,如何将数据传递给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)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注