Example #1
0
def init_nn():

    learning_rate = 0.001

    nn = Sequential(learning_rate=learning_rate,
                    epochs=50,
                    batch_size=100,
                    learning_rate_decay=0.95,
                    weight_decay=0.001)

    nn.add(Dense(n=200, in_shape=train.shape[1]))
    nn.add(BatchNorm())
    nn.add(Dense(n=100))
    nn.add(BatchNorm())
    nn.add(Dense(n=80))
    nn.add(BatchNorm())
    nn.add(Dense(n=20))
    nn.add(BatchNorm())
    nn.add(Dense(n=80))
    nn.add(BatchNorm())
    nn.add(Dense(n=100))
    nn.add(BatchNorm())
    nn.add(Dense(n=200))
    nn.add(BatchNorm())
    nn.add(Dense(n=10, activation="softmax"))
    nn.compile(loss="cross_entropy_softmax", optimiser="Adam")

    return nn
Example #2
0
def model_SGD(X, y, verbose):
    nn = Sequential(learning_rate=learning_rate*0.5, epochs=epochs, batch_size=100,
                    learning_rate_decay=0.95, weight_decay=0.01)
    nn.add(Dense(n=200, in_shape=X.shape[1]))
    nn.add(BatchNorm())
    nn.add(Dense(n=100))
    nn.add(BatchNorm())
    nn.add(Dense(n=80))
    nn.add(BatchNorm())
    nn.add(Dense(n=40))
    nn.add(BatchNorm())
    nn.add(Dense(n=80))
    nn.add(BatchNorm())
    nn.add(Dense(n=100))
    nn.add(BatchNorm())
    nn.add(Dense(n=200))
    nn.add(BatchNorm())
    nn.add(Dense(n=10, activation="softmax"))
    nn.compile(loss="cross_entropy_softmax", optimiser="SGD")

    nn.fit(X, y, verbose)

    return nn
Example #3
0
learning_rate = 0.001

nn = Sequential(learning_rate=learning_rate,
                epochs=100,
                batch_size=100,
                learning_rate_decay=0.95,
                weight_decay=0.001)

nn.add(Dense(n=200, in_shape=train.shape[1]))
nn.add(BatchNorm())
nn.add(Dense(n=100))
nn.add(BatchNorm())
nn.add(Dense(n=200))
nn.add(BatchNorm())
nn.add(Dense(n=10, activation="softmax"))
nn.compile(loss="cross_entropy_softmax", optimiser="Adam")

indices = list(range(len(train)))
random.shuffle(indices)

train = list(map(train.__getitem__, indices))
label = list(map(label.__getitem__, indices))

X = scale_data(train)
y = np.array(onehot_labels(label), dtype=np.float64)

nn.fit(X[0:50000], y[0:50000], verbose=True)

print('Accuracy is: ' + str(accuracy(nn, X[50000:], label[50000:])))