我有一个带有两列的pandas数据框,其中一列具有图像的路径,另一列具有字符串类标签。
我还编写了以下函数,这些函数从数据帧加载图像,对其进行规范化并将类标签转换为一键矢量。
def prepare_data(df):
data_X, data_y = df.values[:,0], df.values[:,1]
# Load images
data_X = np.array([np.array(imread(fname)) for fname in data_X])
# Normalize input
data_X = data_X / 255 - 0.5
# Prepare labels
data_y = np.array([label2int[label] for label in data_y])
data_y = to_categorical(data_y)
return data_X, data_y
我想将此数据帧提供给Keras CNN,但整个数据集太大而无法立即加载到内存中。
这个站点上的其他答案告诉我,为此,我应该使用Keras ImageDataGenerator,但是老实说,我不理解如何从文档中做到这一点。
将延迟加载的批次中的数据馈送到模型的最简单方法是什么?
如果它是ImageDataGenerator,如何创建一个ImageDataGenerator来对Dataframe进行初始化,并将批处理通过我的函数传递,以创建适当的numpy数组?以及如何使用ImageDataGenerator拟合模型?
缥缈止盈
相关分类