Tensorflow KeyError:';val#U acc';在Keras中打印history.history.keys()

Tensorflow KeyError:';val#U acc';在Keras中打印history.history.keys(),tensorflow,keras,Tensorflow,Keras,这导致:['acc','loss'] model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy']) history = model.fit_generator(train_generator, batch_size, epochs=epochs) print(history.history.keys()) 这将生成错误:KeyError:“val

这导致:['acc','loss']

model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])

history = model.fit_generator(train_generator, batch_size, epochs=epochs)

print(history.history.keys())
这将生成错误:KeyError:“val_acc”


为什么我不能在history.history.keys()中看到val_acc和val_loss?

您没有向
model.fit()提供任何验证数据,因此没有要计算的验证数据
val_acc
。您需要将验证数据添加到培训循环中:

accuracy = history.history['acc']
val_accuracy = history.history['val_acc']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(len(accuracy))

您好,我是否应该使用gen.flow(x\u test,y\u test,batch\u size=batch\u size)初始化validation\u生成器?它正在生成一个错误:raise VALUETERROR(“
validation\u steps=None
仅对”ValueError:
validation\u steps=None
仅对基于
keras.utils.Sequence
类的生成器有效。请指定
validation\u steps
或使用
keras.utils.Sequence
类。
history = model.fit_generator(train_generator,
                              batch_size, 
                              epochs,
                              validation_data=validation_generator)
model.compile(optimizer='adam', loss='categorical_crossentropy',
                                       metrics=['accuracy'])
rnn = model.fit(X_train, y_train, nb_epoch= nb_epoch, batch_size=batch_size, 
                               shuffle=True, validation_data=(X_test, y_test))
score = model.evaluate(X_test, y_test)
print("Test Loss: %.2f%%" % (score[0]*100))
print("Test Accuracy: %.2f%%" % (score[1]*100))