Keras中的ImageDataGenerator和fit_生成器:理解时代
我试图了解在培训期间如何使用Keras中的数据生成器。如果有如下设置:Keras中的ImageDataGenerator和fit_生成器:理解时代,keras,Keras,我试图了解在培训期间如何使用Keras中的数据生成器。如果有如下设置: datagen=ImageDataGenerator() 数据发生器安装(x_系列) 模型拟合发生器(数据生成流(x列,x测试,批量大小=32), 每个历元的步数=100, 时代=20) 我怎样才能知道“生成”了多少数据,以及何时生成?我很难理解batch\u size和steps\u per\u epoch之间的关系 以上是否等同于 对于历元1到20: 对于x_列车中的每个img: 基于img生成100张变形图像 将这些
datagen=ImageDataGenerator()
数据发生器安装(x_系列)
模型拟合发生器(数据生成流(x列,x测试,批量大小=32),
每个历元的步数=100,
时代=20)
我怎样才能知道“生成”了多少数据,以及何时生成?我很难理解batch\u size
和steps\u per\u epoch
之间的关系
以上是否等同于
对于历元1到20:
对于x_列车中的每个img:
基于img生成100张变形图像
将这些放入大小为32的批次中
适合每批
或者,它可能是这样工作的:
对于历元1到20:
对于x_列车中的每个img:
基于img生成100张变形图像
将所有100*x_系列形状[0]图像分成大小为32的批次
适合每批
那么这到底是如何工作的呢?
有没有办法对此进行调查/调试?其工作原理如下:
for epoch in range(20):
for step in range(steps_per_epoch):
yield x,y
#where x.shape = (32,imgshape1,imgshape2,imgshape3)
#where y.shape = (32,your_output_shape....)
要确切了解生成器是如何创建批次的(我怀疑是经过更改的img1、img2、img3…,可能会出现混洗),您可以:
gen = datagen.flow(x_train, x_test, batch_size=32)
for i in range(2*your_total_images):
x,y = next(gen) #gets a batch
useAPlottingLibraryAndPlot(x) #where x contains 32 images