import logistic
import rectified_linear
# Layers
import fullyconnected_layer
import input_layer

import mnist_loader_with_pickle as loader

if __name__ == '__main__':
    # Load training data and test data
    training_data, validation_data, test_data = \
    loader.load_data_wrapper()

    # Create layers
    input_layer = input_layer.InputLayer(784)
    input_layer.setData(training_data)
    full1 = fullyconnected_layer.FullyConnectedLayer( \
        784, 40, logistic.LogisticFunction(), 0.1, 0.9, 0.0)
    full2 = fullyconnected_layer.FullyConnectedLayer( \
        40, 10, logistic.LogisticFunction(), 0.1, 0.6, 0.0)

    # Create network
    net = network.Network()
    net.appendLayer(input_layer)
    net.appendLayer(full1)
    net.appendLayer(full2)

    # Training start
    epoch = 50
    net.train(epoch, test_data=test_data)
Exemplo n.º 2
0
# Layers
import fullyconnected_layer
import convolution_layer
import maxpooling_layer
import input_layer

import mnist_loader_with_pickle as loader

if __name__ == '__main__':
    # Load training data and test data
    training_data, validation_data, test_data = \
    loader.load_data_wrapper()

    # Create layers
    input_layer = input_layer.InputLayer(784)
    input_layer.setData(training_data[:1000])
    conv1 = convolution_layer.ConvolutionLayer( \
        (28, 28, 1), (4, 4, 6), (24, 24, 6), logistic.LogisticFunction(), 0.1)
    pool1 = maxpooling_layer.MaxPoolingLayer( \
        (24, 24, 6), (2, 2), (12, 12, 6))
    conv2 = convolution_layer.ConvolutionLayer( \
        (12, 12, 6), (4, 4, 14), (8, 8, 14), logistic.LogisticFunction(), 0.1)
    pool2 = maxpooling_layer.MaxPoolingLayer( \
        (8, 8, 14), (2, 2), (4, 4, 14))
    full1 = fullyconnected_layer.FullyConnectedLayer( \
        224, 100, logistic.LogisticFunction(), 0.1, 1.0, 0.0)
    full2 = fullyconnected_layer.FullyConnectedLayer( \
        100, 10, logistic.LogisticFunction(), 0.1, 1.0, 0.0)

    # Create network
    net = network.Network()
Exemplo n.º 3
0
    labels = []
    labels_vec = []
    for x, y in logic_and:
        data.append(np.array(x).reshape(-1, 1))
        test_data.append(np.array(x).reshape(-1, 1))
        label = np.zeros((2, 1))
        label[y] = 1.
        labels_vec.append(label)
        labels.append(y)
    inputs = zip(data, labels_vec)
    test_inputs= zip(test_data, labels)
    ####

    # Create layers
    input_layer = input_layer.InputLayer(2)
    input_layer.setData(inputs)
    full1 = fullyconnected_layer.FullyConnectedLayer( \
        2, 3, logistic.LogisticFunction(), 0.2, 1.0, 0.1)
    full2 = fullyconnected_layer.FullyConnectedLayer( \
        3, 2, logistic.LogisticFunction(), 0.2, 1.0, 0.1)
    
    # Create network
    net = network.Network()
    net.appendLayer(input_layer)
    net.appendLayer(full1)
    net.appendLayer(full2)

    epoch = 1000
    net.train(epoch, test_data=test_inputs)