2016-05-03 13 views
5
model.fit(X_train, y_train, batch_size = batch_size, 
    nb_epoch = 4, validation_data = (X_test, y_test), 
    show_accuracy = True)  
score = model.evaluate(X_test, y_test, 
    batch_size = batch_size, show_accuracy = True, verbose=0) 

daje wynik skalarny, a zatem następujący kod nie działa.Jak uzyskać wynik i dokładność po szkoleniu

print("Test score", score[0]) 
print("Test accuracy:", score[1]) 

Wyjście że pojawia się: Pociąg na 20000 próbek, walidacji na 5000 próbek

Wersja
Epoch 1/4 

20000/20000 [==============================] - 352s - loss: 0.4515 - val_loss: 0.4232 

Epoch 2/4 

20000/20000 [==============================] - 381s - loss: 0.2592 - val_loss: 0.3723 

Epoch 3/4 

20000/20000 [==============================] - 374s - loss: 0.1513 - val_loss: 0.4329 

Epoch 4/4 

20000/20000 [==============================] - 380s - loss: 0.0838 - val_loss: 0.5044 

Keras 1,0

Jak mogę uzyskać dokładność, jak również? Proszę o pomoc

+0

Co masz na myśli pod pojęciem wyniku testu? Czy to utrata testu? –

+0

Czy możesz wydrukować history.history.keys()? –

+0

Klucze to utrata i val_loss. –

Odpowiedz

4

Jeśli używasz Sequential modelu można spróbować (KOD AKTUALIZACJA):

nb_epochs = 4 
history = model.fit(X_train, y_train, batch_size = batch_size, 
nb_epoch = nb_epochs, validation_data = (X_test, y_test), 
show_accuracy = True) 

print("Test score", history.history["val_loss"][nb_epochs - 1]) 
print("Test acc", history.history["val_acc"][nb_epochs - 1]) 
+0

Dzięki Marcinowi, ale mój model nie generuje żadnego pola val_acc, jak widać z wyjścia modelu.fit. Zgaduję, że show_accuracy = Prawdziwy argument nie działa w moim przypadku. –

+0

Czy możesz wydrukować, jakiego rodzaju pola posiada twój słownik historii (np. Poprzez drukowanie)? Czy używasz modelu sekwencyjnego? Jaką wersję Keras posiadasz? –

+0

Używam modelu sekwencyjnego –

3

Thanks Marcin i masz rację.

Kod musi być jak ten

model.compile(loss='binary_crossentropy', 
      optimizer = 'adam', 
      metrics=["accuracy"]) 

show_accuracy niczemu nie służy w model.fit i musi być usunięty stamtąd.