keras:如何按顺序预测课程?

Yus*_*uke 9 keras

我正在尝试预测keras中的图像类(二进制分类).模型精度很好,但似乎是ImageDataGenerator对输入图像进行混洗,因此我无法将预测的类与原始图像进行匹配.

datagen = ImageDataGenerator(rescale=1./255)

generator = datagen.flow_from_directory(
        pred_data_dir,
        target_size=(img_width, img_height),
        batch_size=32,
        class_mode=None,
        shuffle=False,
        save_to_dir='images/aug'.format(feature))

print  model.predict_generator(generator, nb_input)
Run Code Online (Sandbox Code Playgroud)

例如,如果我有a1.jpg,a2.jpg...,a9.jpgpred_data_dir,我希望得到一个类似的数组

[class for a1.jpg, class for a2.jpg, ... class for a9.jpg] 
Run Code Online (Sandbox Code Playgroud)

来自model.predict_generator(),但实际上我有类似的东西

[class for a3.jpg, class for a8.jpg, ... class for a2.jpg]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Mag*_*nus 5

看一下源代码flow_from_directory.在我的情况下,我不得不重命名所有图像.他们被命名为1.jpg .. 1000.jpg,但要按顺序,他们必须被命名为0001.jpg .. 1000.jpg.排序在这里很重要.

flow_from_directory使用sorted(os.listdir(directory)),因此排序并不总是直观的.