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)))
示例#2
0
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)))
示例#3
0
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")