2016-05-03 23 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) 

cho đầu ra vô hướng và do đó mã sau không hoạt động.Cách nhận cả điểm số và độ chính xác sau khi đào tạo

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

Kết quả mà tôi nhận được là: Train trên 20000 mẫu, xác nhận trên 5000 mẫu

phiên bản
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

Làm thế nào tôi có thể nhận được sự chính xác không? Xin vui lòng giúp

+0

Bạn có ý nghĩa gì với điểm kiểm tra? Là nó mất kiểm tra? –

+0

Bạn có thể in history.history.keys() không? –

+0

Các phím bị mất và val_loss. –

Trả lời

4

Nếu bạn sử dụng Sequential mô hình mà bạn có thể thử (MÃ CẬP NHẬT):

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

Cảm ơn Marcin nhưng mô hình của tôi không tạo ra bất kỳ lĩnh vực val_acc như được nhìn thấy từ đầu ra của model.fit. Tôi đoán đối số show_accuracy = True không hoạt động trong trường hợp của tôi –

+0

Bạn có thể in loại từ điển lịch sử của mình trong trường nào (ví dụ: in nó) không? Bạn có sử dụng mô hình tuần tự không? Bạn có phiên bản Keras nào? –

+0

Tôi sử dụng mô hình Tuần tự –

3

Cảm ơn Marcin và bạn là chính xác.

Mã này cần phải được như

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

show_accuracy này phục vụ không có mục đích trong model.fit và cần phải được loại bỏ từ đó.

Các vấn đề liên quan