def Test(): print("Making model") model = Model() model.build_model_from_pickle("Graphs_and_Results/dual/" + version + "/SAVED_WEIGHTS.pkl") datafeeder = Prep(TEST_AMOUNT, VALID_AMOUNT, SELECTION_LIST) datafeeder.load_train_to_RAM() data, label = datafeeder.GetTest_dom() predictions, l2loss = model.call(data) assert len(label) == len( predictions), "something is wrong with the loaded model or labels" conf = np.zeros(shape=[len(label[0]), len(predictions[0])]) for i in range(len(predictions)): k = np.argmax(predictions[i]) l = np.argmax(label[i]) conf[k][l] += 1 test = open("Graphs_and_Results/dual/" + version + "/confusion.csv", "w") logger = csv.writer(test, lineterminator="\n") test_ = open("Graphs_and_Results/dual/" + version + "/results.csv", "w") logger_ = csv.writer(test_, lineterminator="\n") logger_.writerow([accuracy(predictions, label)]) for iterate in conf: logger.writerow(iterate) right, wrong = record_error(data, label, predictions) try: os.mkdir("Graphs_and_Results/dual/" + version + "/wrong/") os.mkdir("Graphs_and_Results/dual/" + version + "/right/") except: shutil.rmtree("Graphs_and_Results/dual/" + version + "/wrong/") shutil.rmtree("Graphs_and_Results/dual/" + version + "/right/") os.mkdir("Graphs_and_Results/dual/" + version + "/wrong/") os.mkdir("Graphs_and_Results/dual/" + version + "/right/") for i in range(len(wrong)): print("Saving wrong image {}".format(i)) carrier = np.reshape(wrong[i], [100, 100]) util.save_image( 255 * carrier, "Graphs_and_Results/dual/" + version + "/wrong/" + str(i) + ".jpg", "L") for i in range(len(right)): print("Saving right image {}".format(i)) carrier = np.reshape(right[i], [100, 100]) util.save_image( 255 * carrier, "Graphs_and_Results/dual/" + version + "/right/" + str(i) + ".jpg", "L") print("This is the test set accuracy: {}".format( accuracy(predictions, label)))
def Test(): print("Making model") model = Model() model.build_model_from_pickle(base_directory + "SAVED_WEIGHTS.pkl") datafeeder = Prep(TEST_AMOUNT, VALID_AMOUNT, [version]) datafeeder.load_train_to_RAM() data, label = datafeeder.GetTest_dom() data = data[0] # this is because we now have multiple images in the pickle predictions, l2loss = model.call(data) print("This is the test set accuracy: {}".format( accuracy(predictions, label)))
def Test(): print("Making model") model = Model() model.build_model_from_pickle("Graphs_and_Results/basic/" + version + "/" + "SAVED_WEIGHTS.pkl") datafeeder = Prep(TEST_AMOUNT, VALID_AMOUNT, [version]) datafeeder.load_train_to_RAM() data, label = datafeeder.GetTest_dom() data = data[0] # this is because we now have multiple images in the pickle predictions, l2loss = model.call(data) assert len(label) == len( predictions), "something is wrong with the loaded model or labels" right, wrong, wrong_list = record_error(data, label, predictions) print("This is the test set accuracy: {}".format( accuracy(predictions, label))) try: os.mkdir("Graphs_and_Results/basic/" + version + "/wrong/") os.mkdir("Graphs_and_Results/basic/" + version + "/right/") os.mkdir("Graphs_and_Results/wrongs/") except: shutil.rmtree("Graphs_and_Results/basic/" + version + "/wrong/") shutil.rmtree("Graphs_and_Results/basic/" + version + "/right/") os.mkdir("Graphs_and_Results/basic/" + version + "/wrong/") os.mkdir("Graphs_and_Results/basic/" + version + "/right/") wrong_logger = csv.writer(open( "Graphs_and_Results/wrongs/" + version + "SimpleCNN.csv", "w"), lineterminator="\n") for element in wrong_list: wrong_logger.writerow([element]) for i in range(len(wrong)): print("Saving wrong image {}".format(i)) carrier = np.reshape(wrong[i], [100, 100]) util.save_image( 255 * carrier, "Graphs_and_Results/basic/" + version + "/wrong/" + str(i) + ".jpg", "L") for i in range(len(right)): print("Saving right image {}".format(i)) carrier = np.reshape(right[i], [100, 100]) util.save_image( 255 * carrier, "Graphs_and_Results/basic/" + version + "/right/" + str(i) + ".jpg", "L")