这是我的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.jpg11.jpg 16.jpg 20.jpg 25.jpg 2.jpg 34.jpg 39.jpg 43.jpg 48.jpg 6.jpg12.jpg 17.jpg 21.jpg 26.jpg 30.jpg 35.jpg 3.jpg 44.jpg 49.jpg 7.jpg13.jpg 18.jpg 22.jpg 27.jpg 31.jpg 36.jpg 40.jpg 45.jpg 4.jpg 8.jpg14.jpg 19.jpg 23.jpg 28.jpg 32.jpg 37.jpg 41.jpg 46.jpg 50.jpg 9.jpg
我做错了什么,或者需要做什么?
回答:
flow_from_directory
期望目录中包含按类别划分的子目录。目前你的测试文件夹的问题是所有的图片都直接放在里面,没有按类别划分的子目录。你需要为每个类别创建一个子目录,并将图片放入相应的子目录中。