예제 #1
0
def predict():
    """
    An example of how to load a trained model and use it
    to predict labels.
    """

    # load the saved model
    classifier = pickle.load(open(network_pickle))

    # compile a predictor function
    predict_model = theano.function(inputs=[classifier.x],
                                    outputs=classifier.layers[-1].y_out)

    # We can test it on some examples from test test
    datasets = cl.load_crater_data_phaseII_wrapper(dataset, IMAGE_SIZE)
    test_set_x, test_set_y = datasets[2]
    test_set_x = test_set_x.get_value()

    predicted_values = predict_model(test_set_x[0])
    print("Predicted values for the first 10 examples in test set:")
    print(predicted_values)
예제 #2
0
def load_data_shared():
    global train_size, test_size, valid_size
    training_data, test_data, validation_data = load_crater_data_phaseII_wrapper(
        rotate=1)

    train_size = training_data
    test_size = test_data
    valid_size = validation_data

    def shared(data):
        """Place the data into shared variables.  This allows Theano to copy
        the data to the GPU, if one is available.
        """
        shared_x = theano.shared(np.asarray(data[0],
                                            dtype=theano.config.floatX),
                                 borrow=True)
        shared_y = theano.shared(np.asarray(data[1],
                                            dtype=theano.config.floatX),
                                 borrow=True)
        return shared_x, T.cast(shared_y, "int32")

    return [shared(training_data), shared(validation_data), shared(test_data)]
예제 #3
0
from network3 import *
from plotdatafitting import plotDataFit
import crater_loader
# uncomment if you do not want graph to show up.
IMAGE_SIZE = 28
EPOCHS = 20
MB_SIZE = 1
ETA = .00005
RUNS = 1
LAMBDA_LENGTH = 1
GEN = 3

PICKLE = "Pickle_Stash/GEN2-LReLU28x28-ntwk-e7-val0.9719-tst0.9705.pkl"
#training_data, validation_data, test_data = network3.load_data_shared()

# PHASE II -- Crater Data
training_data, validation_data, test_data = \
crater_loader.load_crater_data_phaseII_wrapper("non_rotated_28x28.pkl", IMAGE_SIZE)

if __name__ == "__main__":
    net = cPickle.load(open(PICKLE, 'rb'))
    os.system('rm Pickles/*.pkl')
    net.SGD("GEN%s-LReLU28x28" % GEN,
            training_data,
            EPOCHS,
            MB_SIZE,
            ETA,
            validation_data,
            test_data,
            lmbda=0.0001)
예제 #4
0
    return epoch


def deploy_pickle(netwk):
    best = netwk.ranker.best_epoch()
    pickle_it((best.weights, best.biases), PICKLE_DIR)
    os.system("rm -f *.qr")
    os.system("touch %s/%s.qr" % (PICKLE_DIR, best.qr))
    print "BEST EPOCH: %s" % best


# training_data, validation_data, test_data = network3.load_data_shared()

# PHASE II --- Crater Data
training_data, validation_data, test_data = \
        crater_loader.load_crater_data_phaseII_wrapper("phase2-data.pkl", 28)

mini_batch_size = 10


def shallow(n=3, epochs=60):
    nets = []
    for j in range(n):
        print "A shallow net with 100 hidden neurons"
        net = Network([
            FullyConnectedLayer(n_in=784, n_out=100),
            SoftmaxLayer(n_in=100, n_out=10)
        ], mini_batch_size)
        net.SGD(training_data, epochs, mini_batch_size, 0.1, validation_data,
                test_data)
        nets.append(net)
예제 #5
0
    predict_model = theano.function(inputs=[classifier.x],
                                    outputs=classifier.layers[-1].y_out)

    # We can test it on some examples from test test
    datasets = cl.load_crater_data_phaseII_wrapper(dataset, IMAGE_SIZE)
    test_set_x, test_set_y = datasets[2]
    test_set_x = test_set_x.get_value()

    predicted_values = predict_model(test_set_x[0])
    print("Predicted values for the first 10 examples in test set:")
    print(predicted_values)


if __name__ == '__main__':
    classifier = pickle.load(open(network_pickle))
    datasets = cl.load_crater_data_phaseII_wrapper(dataset, IMAGE_SIZE)
    test_set_x, test_set_y = datasets[0]
    # # test_set_x = test_set_x.get_value()
    # classifier.test_data = []
    # for i in range(100):
    #     print classifier.test_mb_predictions(i)

    i = T.lscalar()
    pred = theano.function(
        [i],
        classifier.layers[-1].y_out,
        givens={
            classifier.x:
            test_set_x[i * classifier.mini_batch_size:(i + 1) *
                       classifier.mini_batch_size]
        })
예제 #6
0
import crater_loader
from plotdatafitting import plotDataFit
IMAGE_SIZE = 101

EPOCHS = 1
MB_SIZE = 1
ETA = .005
RUNS = 1

PICKLE = "Pickles/elu-network%sx%s" % (IMAGE_SIZE, IMAGE_SIZE)

#training_data, validation_data, test_data = network3.load_data_shared()

# PHASE II -- Crater Data
training_data, validation_data, test_data = \
crater_loader.load_crater_data_phaseII_wrapper("101x101.pkl", 101)


def leakyrelu():
    net = None
    for j in range(RUNS):
        print "num %s, leaky relu, with regularization %s" % (j, 0.00001)
        net = Network([
            ConvPoolLayer(image_shape=(MB_SIZE, 1, IMAGE_SIZE, IMAGE_SIZE),
                          filter_shape=(5, 1, 15, 15),
                          poolsize=(3, 3),
                          activation_fn=LReLU),
            ConvPoolLayer(image_shape=(MB_SIZE, 5, 29, 29),
                          filter_shape=(10, 5, 3, 3),
                          poolsize=(2, 2),
                          activation_fn=LReLU),