[英]Fit data into machine learning keras model when data is huge
在使用keras的機器學習教程中,訓練機器學習模型的代碼就是這種典型的一類代碼。
model.fit(X_train,
Y_train,
nb_epoch=5,
batch_size = 128,
verbose=1,
validation_split=0.1)
當訓練數據X_train
和Y_train
X_train
,這似乎很容易。 X_train
和Y_train
是numpy ndarrays。 在實際情況下,訓練數據可能會達到千兆字節,這可能太大,甚至無法安裝到計算機的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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.