当我运行生成数据集和训练GAN的代码时,
batch_size = 32
img_height = 128
img_width = 128
train_ds = tf.keras.utils.image_dataset_from_directory(
data_dir,
validation_split=0.2,
subset="training",
seed=123,
image_size=(img_height, img_width),
batch_size=batch_size)
val_ds = tf.keras.utils.image_dataset_from_directory(
data_dir,
validation_split=0.2,
subset="validation",
seed=123,
image_size=(img_height, img_width),
batch_size=batch_size)
autoencoder.fit(train, train,
epochs=10,
shuffle=True,
validation_data=val)
返回这个错误
`y` argument is not supported when using dataset as input.
从我所看到的,我需要使输入一个元组,但我不确定如何做到这一点,我找不到任何东西,告诉我如何。
默认情况下,image_dataset_from_directory
根据您的目录结构自动生成图像的标签,并返回(images, labels)
的元组。这就是为什么fit
不接受y
参数,因为标签应该直接来自dataset
。
如果你想为你的数据集手动指定标签,在调用image_dataset_from_directory
时将其作为参数labels
传递。注意,
标签应该按照图像文件路径的字母数字顺序排序(在Python中通过
os.walk(directory)
获得)。