Exemplo n.º 1
0
def main():
    size_of_learn_sample = int(len(x) * 0.9)
    print(size_of_learn_sample)

    nn = Network(x, y, 0.5)

    nn.train()
    nn.printer()
from data_loader import DataLoader
from neural_network import Network
from training_parameters import LAYER_SIZES, MINI_BATCH_SIZE, EPOCHS, LEARNING_RATE
from config import VERBOSE, TRAIN_IMAGE_DIR, TRAIN_LABEL_DIR,\
    TRAINING_DATA_SKIP_FOOTER, TEST_IMAGE_DIR, TEST_LABEL_DIR, TEST_DATA_SKIP_FOOTER, TEST_PREDICTIONS_FILENAME

if VERBOSE:
    print('loading training data...')
training_data = DataLoader.get_training_data(TRAIN_IMAGE_DIR, TRAIN_LABEL_DIR,
                                             TRAINING_DATA_SKIP_FOOTER)

if VERBOSE:
    print('loading test data...')
test_data = DataLoader.get_test_data(TEST_IMAGE_DIR, TEST_LABEL_DIR,
                                     TEST_DATA_SKIP_FOOTER)

if VERBOSE:
    print('begin training...')

neural_network = Network(LAYER_SIZES)
neural_network.train(training_data, test_data, MINI_BATCH_SIZE, EPOCHS,
                     LEARNING_RATE, VERBOSE, TEST_PREDICTIONS_FILENAME)
Exemplo n.º 3
0

if __name__ == '__main__':
    # Load data
    X, y = load_data('./data/expert_q.txt')

    # Initialize the model
    nn = Network(hidden_layers=(256, 256, 256, 256),
                 lr=9e-2,
                 epoch=600,
                 bias=True,
                 batch_size=64)
    try:
        nn.load_weights()
    except:
        print('WARNING: No pre-trained networks!')
        # Training
        nn.train(X, y)
        nn.save_weights()

    # Display accuracy
    accuracy(nn, X, y)
    print()

    # Simulate 1,000 games
    N = 1000
    environment = pm.PongModel(0.5, 0.5, 0.03, 0.01, 0.4)
    window = gfx.GFX()
    window.fps = 4e16
    avg_score = simulate_game(N, window, environment, nn)
    print('Avg score of {0} games:{1:.3f}'.format(N, avg_score))
Exemplo n.º 4
0
from neural_network import Network

network = Network(training_iteration=500000,
                  learning_rate=0.3,
                  error_threshold=0.0001)
network.add_layer(3, 2)
network.add_layer(1)

network.train([
    [[0, 0], [0]],
    [[0, 1], [1]],
    [[1, 0], [1]],
    [[1, 1], [1]],
])

output = network.process([0, 0])
print('0 OR 0 = {}'.format(output))

output = network.process([0, 1])
print('0 OR 1 = {}'.format(output))

output = network.process([1, 0])
print('1 OR 0 = {}'.format(output))

output = network.process([1, 1])
print('1 OR 1 = {}'.format(output))