0

这是我的 flow_from_directory 代码

train_image_generator = ImageDataGenerator(rescale=1./255)
validation_image_generator = ImageDataGenerator(rescale=1./255)
test_image_generator = ImageDataGenerator(rescale=1./255)

train_data_gen = train_image_generator.flow_from_directory(
        train_dir,
        target_size=(150, 150),
        batch_size=batch_size,
        class_mode='binary')
val_data_gen =validation_image_generator.flow_from_directory(
        validation_dir,
        target_size=(150, 150),
        batch_size=batch_size,
        class_mode='binary')
test_data_gen = test_image_generator.flow_from_directory(
        test_dir,
        target_size=(150, 150),
        batch_size=batch_size,
        class_mode='binary',
        shuffle = False,)

它打印:

找到属于 2 个类别的 2000 张图像。找到属于 2 个类别的 1000 张图像。找到属于 0 个类别的 0 个图像。

即使我使用的数据存在:

!ls /root/.keras/datasets/cats_and_dogs/test

这给出了输出:

10.jpg  15.jpg  1.jpg   24.jpg  29.jpg  33.jpg  38.jpg  42.jpg  47.jpg  5.jpg
11.jpg  16.jpg  20.jpg  25.jpg  2.jpg   34.jpg  39.jpg  43.jpg  48.jpg  6.jpg
12.jpg  17.jpg  21.jpg  26.jpg  30.jpg  35.jpg  3.jpg   44.jpg  49.jpg  7.jpg
13.jpg  18.jpg  22.jpg  27.jpg  31.jpg  36.jpg  40.jpg  45.jpg  4.jpg   8.jpg
14.jpg  19.jpg  23.jpg  28.jpg  32.jpg  37.jpg  41.jpg  46.jpg  50.jpg  9.jpg

我做错了什么或必须做什么?

4

1 回答 1

0

flow_from_directory需要一个按类包含子目录的目录。目前您的测试文件夹的问题是所有图像都在其中,没有任何类的子目录。您需要为每个类创建一个子目录,并将图像放在适当的子目录中。

于 2020-07-24T12:31:29.967 回答