簡體   English   中英

當數據量巨大時,將數據擬合到機器學習keras模型中

[英]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_trainY_train X_train ,這似乎很容易。 X_trainY_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM