我在下面使用了数据扩充来节省内存。
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) 请给我这些CNN结果的评论.我使用了2000张训练图像和400张测试图像.训练准确性很好,但测试精度非常低.我认为这是因为训练和测试图像之间存在很大差异.对于这种情况,任何人都有好主意吗?
[
]