我正在尝试预测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.jpg下pred_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)
我该如何解决这个问题?
看一下源代码flow_from_directory.在我的情况下,我不得不重命名所有图像.他们被命名为1.jpg .. 1000.jpg,但要按顺序,他们必须被命名为0001.jpg .. 1000.jpg.排序在这里很重要.
flow_from_directory使用sorted(os.listdir(directory)),因此排序并不总是直观的.
| 归档时间: |
|
| 查看次数: |
4579 次 |
| 最近记录: |