Python TF2.0使用Keras ImageDataGenerator的图像生成器不工作
我试图将该数据集与TF2.0以及keras ImageDataGenerator一起使用,但当我尝试调用它时,会出现错误。这就是我正在做的。我有一个数据文件夹,其中每个类别有4个文件夹。我认为这将是一个标签,就像旧的keras方法一样。有4个福尔德人有72张左右的照片 下面是我用来生成代码的代码Python TF2.0使用Keras ImageDataGenerator的图像生成器不工作,python,tensorflow,keras,Python,Tensorflow,Keras,我试图将该数据集与TF2.0以及keras ImageDataGenerator一起使用,但当我尝试调用它时,会出现错误。这就是我正在做的。我有一个数据文件夹,其中每个类别有4个文件夹。我认为这将是一个标签,就像旧的keras方法一样。有4个福尔德人有72张左右的照片 下面是我用来生成代码的代码 augment = True if augment: train_datagen = ImageDataGenerator( rescale=1./ 255, s
augment = True
if augment:
train_datagen = ImageDataGenerator(
rescale=1./ 255,
shear_range=0,
rotation_range=20,
zoom_range=0.15,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True,
fill_mode='nearest') # set validation split
else:
train_datagen = ImageDataGenerator(
rescale=1./ 255,
horizontal_flip=True,
fill_mode='nearest') # set validation split
images, labels = next(train_datagen.flow_from_directory(DATA_PATH))
print(images.dtype, images.shape)
print(labels.dtype, labels.shape)
input_shape = images.shape[1:]
print("InputShape:", input_shape)
img_shape = (input_shape[0], input_shape[1])
ds = tf.data.Dataset.from_generator(train_datagen.flow_from_directory,
args=[DATA_PATH], output_types=(tf.float32, tf.float32))
这就产生了:
找到了324张属于4类的图像。
浮动32(32、256、256、3)
浮动32(32,4)
InputShape:(256、256、3)
DS:
将tf.data.Dataset
与KerasImageDataGenerator
一起使用有点棘手。您可以改为使用Keras内置方法
为此,您可以跳过此部分
# ds = tf.data.Dataset.from_generator(train_datagen.flow_from_directory,
# args=[DATA_PATH], output_types=(tf.float32, tf.float32))
并使用Keras生成器:
train_generator = train_datagen.flow_from_directory(
DATA_PATH,
target_size=(150, 150), # or other parameters you need
batch_size=32,
class_mode='binary')
最后,可以通过前面提到的fit\u generator
调用培训:
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=validation_generator,
validation_steps=800)
关于这个话题的文章非常好,我建议你去看看。
干杯 是的,我知道我将不得不重写这一点,因为你可以使用keras的图像生成器,但它非常挑剔。非常感谢。