测试数据给出 "Found 0 images in 0 classes" 使用 flow_from_directory

Test data gives "Found 0 images in 0 classes" using flow_from_directory

这是我的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

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

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