簡體   English   中英

在多個h5文件上訓練ANN Keras(基於Tensorflow)模型

[英]Training ANN Keras (based Tensorflow) model on multiple h5 files

我有600份訓練數據文件(每個約400 MB,總計約235 GB),格式為“ h5”。 所有文件都包含帶有數字的數組,其中列數相同,但行數可以不同。

我有加載一個文件並對其進行訓練的經驗(代碼如下所示),但是如何從這么多文件中加載數據,對其進行混洗並訓練模型呢?


def load_dataset():
    """
    simply loading dataset 
    """    
    print("Start time of loading data: " + str(datetime.datetime.now())+"\n\n")

    train_dataset = h5py.File('datasets/data.h5', "r")

    data = np.array(train_dataset["data"][:]) 
    # Later in the code, "data" will be split into 
    # X_train and Y_train, e.g. in the comments below

    # Split data into X_train and Y_train
    # X_train_orig = data[:, :5].reshape(data.shape[0],5) 
    # Y_train_orig = data[:, -4].reshape(data.shape[0],1)

    print("End time of loading data: " + str(datetime.datetime.now())+"\n")
    print("Load data: complete\n")

    return data 

如果每個文件中的所有數據點都是獨立且均勻分布的(IID),並且每個文件都具有所有類的良好表示(即,不偏重於一個類),則加載一個文件,對其內容進行洗牌並對其進行訓練,然后繼續到下一個文件,然后很快。 完成最后一個文件后,只要驗證分數不斷提高,就重復一次。

例如,Word2vec對海量數據進行了訓練,但完整數據從未加載到內存中。 只需幾個完整數據的紀元就可以使培訓收斂,因此您也應如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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