如何使用Keras model.evaluate_generator

You*_*hin 5 theano keras

我在下面使用了数据扩充来节省内存。

total number of test images = 400
batch size = 128
Run Code Online (Sandbox Code Playgroud)

当我使用model.evaluate_generator检查测试集的准确性时,与我模型的最后一个时期的finalvalidation_accuracy不同。而且,model.evaluate_generator当我重复这个的时候,输出改变。

下面是我的代码。

请帮忙!

train_datagen = ImageDataGenerator(
        rescale=1./255,)

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
        train_data_dir,
        color_mode= "grayscale",
        target_size=(img_width, img_height),
        batch_size=128,
        class_mode='categorical',)    

validation_generator = test_datagen.flow_from_directory(
        validation_data_dir,
        color_mode= "grayscale",
        target_size=(img_width, img_height),
        batch_size=128,
        class_mode='categorical')

#%%
hist = model.fit_generator(
        train_generator,
        samples_per_epoch=nb_train_samples,
        nb_epoch=nb_epoch,
        validation_data=validation_generator,
        nb_val_samples=nb_validation_samples)

scoreSeg = model.evaluate_generator(validation_generator, 400)
print("Accuracy = ",scoreSeg[1])
Run Code Online (Sandbox Code Playgroud)