将文件加载到生成器中进行培训

时间:2019-03-01 06:17:11

标签: python-3.x keras

我有一组具有以下结构的文件夹

Data
  -->1
    --->_1.txt
    --->_2.txt
    --->_3.txt
  --->2
    --->_1.txt
    --->_2.txt
    --->_3.txt

1,2是标签,每个文件夹都有一些文本文档。我正在设计使用keras的文本分类模型。我要一次将所有数据加载到内存中。

 import sklearn.datasets as skds

 files_train = skds.load_files(path_train,load_content=False)
 # Read and add data from file to a list
 i=0
 for f in labelled_files:
       data_list.append(Path(f).read_text((encoding='utf8',errors='ignore')))

我的语料库非常庞大,大小为20 GB。如何将这些数据有效地加载到内存中进行训练

 history = self.model.fit(x_train, y_train,
                        batch_size=batch_size,
                        epochs=self.num_epochs,
                        verbose=1,
                        validation_split=0.1,
                        shuffle=True,
                        callbacks=[tensorboard])

1 个答案:

答案 0 :(得分:0)

考虑使用fit_generator(可能使用多个工作程序),而不是将数据集完全加载到内存中。我的建议是让您独立于使用发电机训练模型来开发和测试发电机。