【发布时间】:2020-04-21 04:11:42
【问题描述】:
我使用 Keras/Tensorflow 构建了一个神经网络模型,该模型在构建时(使用“fit_generator”)报告了良好的训练和验证准确度(90%-ish),并在测试集上使用“evaluate_generator”函数报告了类似的准确度.但是,当我尝试使用该模型生成预测时,无论是使用“predict_generator”还是手动生成单个文件,它都会为每个预测给出“0”的答案。代码如下。我非常缺乏经验,非常感谢指导。谢谢。
from keras.preprocessing.image import img_to_array, load_img, ImageDataGenerator
from keras.models import load_model
import glob, sys
import numpy as np
myModel = load_model("Gender.h5")
dataGenerator = ImageDataGenerator()
testGen = dataGenerator.flow_from_directory("newData\\A1\\test",target_size=(218,178),
batch_size=32, class_mode='binary',shuffle=False,color_mode="rgb")
testGen.reset()
print("Test Set Accuracy: %0.1f%%"%(100*myModel.evaluate_generator(testGen)[1]))
testGen.reset()
testPredictions = myModel.predict_generator(testGen)
predictedClassIndices=np.argmax(testPredictions,axis=1)
filenames = testGen.filenames
for f in range(len(filenames)):
print(filenames[f],":",predictedClassIndices[f])
【问题讨论】:
-
发布
myModel.summary()结果。
标签: python tensorflow keras generator predict