def train_face_classifier(ntrain, ntest, orientations, wrap180,
                          model_save_file):
    print("Loading training data...")
    descriptors_train, classes_train = get_training_data(ntrain,
                                                         orientations,
                                                         wrap180=wrap180)
    print("Finished loading training data.")
    print("Loading test data...")
    descriptors_test, classes_test = get_testing_data(ntest,
                                                      orientations,
                                                      wrap180=wrap180)
    print("Finished loading test data.")
    print("Start training...")

    start_time = time.time()
    params, _ = logistic_fit(descriptors_train, classes_train)
    print("Training took {} seconds.".format(time.time() - start_time))

    np.save(model_save_file, params)

    predicted_train = logistic_prob(descriptors_train, params)
    plot_errors(predicted_train, classes_train, is_training=True)

    train_success_rate = classification_rate(predicted_train, classes_train)
    print("Training classification rate: {}".format(train_success_rate))

    predicted_test = logistic_prob(descriptors_test, params)
    plot_errors(predicted_test, classes_test, is_training=False)

    test_success_rate = classification_rate(predicted_test, classes_test)
    print("Testing classification rate: {}".format(test_success_rate))
def test_face_classifier(ntrain, ntest, orientations, wrap180,
                         model_save_file):
    print("Loading test data...")
    descriptors_test, classes_test = get_testing_data(ntest,
                                                      orientations,
                                                      wrap180=wrap180)
    print("Finished loading test data.")

    params = np.load(model_save_file)
    predicted_test = logistic_prob(descriptors_test, params)
    plot_errors(predicted_test, classes_test, is_training=False)

    test_success_rate = classification_rate(predicted_test, classes_test)
    print("Testing classification rate: {}".format(test_success_rate))
Esempio n. 3
0
            ntest = int(sys.argv[1]); del sys.argv[1]
        elif option == "-deskew":
            deskew = int(sys.argv[1]); del sys.argv[1]
        elif option == "-normalize":
            normalize = int(sys.argv[1]); del sys.argv[1]
        elif option == "-lsquared":
            lsquared = float(sys.argv[1]); del sys.argv[1]
        else:
            print sys.argv[0], ": invalid option", option
            sys.exit(1)

    print "Gaussian Processes"
    print

    print "Reading data..."
    # reading the data and applying configured pre-processing steps
    X_train, T_train = data.get_training_data(ntrain, normalize=normalize, deskew=deskew)
    X_test, T_test = data.get_testing_data(ntest, normalize=normalize, deskew=deskew)
    print "{0} training data read".format(len(X_train))
    print "{0} testing data read".format(len(X_test))
    print

    # running a Gaussian process on training and testing sets, with "lsquared"
    T_predicted = gaussian_process(X_train, T_train, X_test, lsquared=lsquared)

    # evaluating the model performance on the testing set
    print "Testing Set Error: {0:.3f}".format(
        get_error_score(T_predicted, T_test)
    )
    print
Esempio n. 4
0
            print sys.argv[0], ": invalid option", option
            sys.exit(1)

    np.seterr(over="ignore", divide="ignore")

    print "Neural Networks"
    print

    print "Reading data..."
    # reading the data, applying configured pre-processing, and adding 1.0 to each vector as a bias input
    X_train, T_train = data.get_training_data(ntrain,
                                              normalize=normalize,
                                              deskew=deskew,
                                              add_ones=True)
    X_test, T_test = data.get_testing_data(ntest,
                                           normalize=normalize,
                                           deskew=deskew,
                                           add_ones=True)
    print "{0} training data read".format(len(X_train))
    print "{0} testing data read".format(len(X_test))
    print

    input_dim = X_train.shape[1]
    output_dim = T_train.max() + 1
    weights, errors, params = [], [], []

    print "{0:40}\tV. Loss\t\tV. Error".format(
        "(Func, Hidden, Batch, Learn, Drop)")
    print "-------------------------------------------------------------------------------"

    for function in functions:
        for hidden in hidden_units:
Esempio n. 5
0
def main(_):
    test_x_batches, test_y_batches = get_testing_data(FLAGS.batch_size *
                                                      FLAGS.time_steps)
    run_testing(test_x_batches, test_y_batches)