繁体   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