Я использовал Keras ImageDataGenerator и передал мои обучающие образы, которые мне показались (набор данных MNIST).
datagen=keras.preprocessing.image.ImageDataGenerator(
featurewise_center=True,
samplewise_center=True,
featurewise_std_normalization=True,
samplewise_std_normalization=True,rotation_range=10,
width_shift_range=0.1,height_shift_range=0.1,zoom_range=0.1,
shear_range=0.01,validation_split=0.1
)
datagen.fit(X_train)
train_gen=datagen.flow(X_train,y_train.toarray(),batch_size=32,subset='training')
validation_gen=datagen.flow(X_val,y_val.toarray(),batch_size=32,subset='validation')
lrate=keras.callbacks.LearningRateScheduler(step_decay)
model_history=model.fit_generator(train_gen,epochs=50,verbose=2,validation_data=validation_gen,callbacks=[lrate])
![enter image description here](https://i.stack.imgur.com/NFcX1.png)
Во время обучения я получаю ожидаемые результаты и получаю подтверждение оценка выше 99%. Вот график после тренировки:
Но когда я использовал model.evaluate
, чтобы получить оценки для набора данных проверки, я получил очень низкий балл
scores = model.evaluate(X_val,y_val.toarray(), verbose = 10 )
print (scores)
Я получил результат как:
[2.454622192836943, 0.080714285]
- Почему это происходит?
- Как передать изображения через датаген во время теста?