def report_accuracy(X, y, coarse=True, prefix_string='benchmark'): if coarse: Y = np_utils.to_categorical(y, nb_classes_coarse) else: Y = np_utils.to_categorical(y, nb_classes_fine) # Test the model Y_predict = model.predict(X, batch_size=batch_size, verbose=1) # Convert floating point vector to a clean binary vector with only two 1's Y_predict_clean = clean_vec(Y_predict) acc = accuracy(Y_predict_clean, Y) print("%s accuracy: %f" % (prefix_string, acc))
Y_test_fine = np_utils.to_categorical(y_test_fine, nb_classes_fine) Y_test_coarse = np_utils.to_categorical(y_test_coarse, nb_classes_coarse) if 'coarse' in model_name: Y_train = Y_train_coarse Y_test = Y_test_coarse elif 'fine' in model_name: Y_train = Y_train_fine Y_test = Y_test_fine # Test the model Y_predict_test = model.predict(X_test, batch_size=batch_size, verbose=1) Y_predict_train = model.predict(X_train, batch_size=batch_size, verbose=1) #print(Y_predict_train) # Convert floating point vector to a clean binary vector with only two 1's Y_predict_test_clean = clean_vec(Y_predict_test) Y_predict_train_clean = clean_vec(Y_predict_train) if 'coarse' in model_name: label_type = 'coarse' elif 'fine' in model_name: label_type = 'fine' test_accuracy = accuracy(Y_predict_test_clean, Y_test) print(label_type + " test accuracy: %f" % test_accuracy) train_accuracy = accuracy(Y_predict_train_clean, Y_train) print(label_type + " train accuracy: %f" % train_accuracy) # For generalization test, show the accuracy on the things it was not trained on if '_gen' in model_name: